The Flower That Bloomed Nowhere everblossomwiki https://everblossom.miraheze.org/wiki/Main_Page MediaWiki 1.40.2 first-letter Media Special Talk User User talk The Flower That Bloomed Nowhere The Flower That Bloomed Nowhere talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Module Module talk Template:Main article 10 10 50 2016-07-02T18:04:46Z whentheycrywiki>Kinzo 0 1 revision imported: cite web wikitext text/x-wiki {{#invoke:main|main}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> a7952a0ddabebcef9371e9783f0fed2425a59187 21 2023-12-13T13:26:22Z Systemzero 2 Created page with "{{#invoke:main|main}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude>" wikitext text/x-wiki {{#invoke:main|main}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> a7952a0ddabebcef9371e9783f0fed2425a59187 Module:Main 828 12 56 2016-07-02T18:05:52Z whentheycrywiki>Kinzo 0 1 revision imported: cite web Scribunto text/plain --[[ -- This module produces a link to a main article or articles. It implements the -- template {{main}}. -- -- If the module is used in category or category talk space, it produces "The -- main article for this category is xxx". Otherwise, it produces -- "Main article: xxx". --]] local mHatnote = require('Module:Hatnote') local mHatlist = require('Module:Hatnote list') local mArguments -- lazily initialise local p = {} function p.main(frame) mArguments = require('Module:Arguments') local args = mArguments.getArgs(frame, {parentOnly = true}) local pages = {} for k, v in pairs(args) do if type(k) == 'number' then local display = args['label ' .. k] or args['l' .. k] local page = display and string.format('%s|%s', string.gsub(v, '|.*$', ''), display) or v pages[#pages + 1] = page end end if #pages == 0 and mw.title.getCurrentTitle().namespace == 0 then return mHatnote.makeWikitextError( 'no page names specified', 'Template:Main#Errors', args.category ) end local options = { selfref = args.selfref } return p._main(pages, options) end function p._main(args, options) -- Get the list of pages. If no first page was specified we use the current -- page name. local currentTitle = mw.title.getCurrentTitle() if #args == 0 then args = {currentTitle.text} end local firstPage = string.gsub(args[1], '|.*$', '') -- Find the pagetype. local pageType = mHatnote.findNamespaceId(firstPage) == 0 and 'article' or 'page' -- Make the formatted link text list = mHatlist.andList(args, true) -- Build the text. local isPlural = #args > 1 local mainForm local curNs = currentTitle.namespace if (curNs == 14) or (curNs == 15) then --category/talk namespaces mainForm = isPlural and 'The main %ss for this [[Wikipedia:Categorization|category]] are %s' or 'The main %s for this [[Wikipedia:Categorization|category]] is %s' else mainForm = isPlural and 'Main %ss: %s' or 'Main %s: %s' end local text = string.format(mainForm, pageType, list) -- Process the options and pass the text to the _rellink function in -- [[Module:Hatnote]]. options = options or {} local hnOptions = { selfref = options.selfref } return mHatnote._hatnote(text, hnOptions) end return p 517f3aa2c528cf570341bd093fd71fefd6755aca 23 2023-12-13T13:32:34Z Systemzero 2 Created page with "--[[ -- This module produces a link to a main article or articles. It implements the -- template {{main}}. -- -- If the module is used in category or category talk space, it produces "The -- main article for this category is xxx". Otherwise, it produces -- "Main article: xxx". --]] local mHatnote = require('Module:Hatnote') local mHatlist = require('Module:Hatnote list') local mArguments -- lazily initialise local p = {} function p.main(frame) mArguments = require('M..." Scribunto text/plain --[[ -- This module produces a link to a main article or articles. It implements the -- template {{main}}. -- -- If the module is used in category or category talk space, it produces "The -- main article for this category is xxx". Otherwise, it produces -- "Main article: xxx". --]] local mHatnote = require('Module:Hatnote') local mHatlist = require('Module:Hatnote list') local mArguments -- lazily initialise local p = {} function p.main(frame) mArguments = require('Module:Arguments') local args = mArguments.getArgs(frame, {parentOnly = true}) local pages = {} for k, v in pairs(args) do if type(k) == 'number' then local display = args['label ' .. k] or args['l' .. k] local page = display and string.format('%s|%s', string.gsub(v, '|.*$', ''), display) or v pages[#pages + 1] = page end end if #pages == 0 and mw.title.getCurrentTitle().namespace == 0 then return mHatnote.makeWikitextError( 'no page names specified', 'Template:Main#Errors', args.category ) end local options = { selfref = args.selfref } return p._main(pages, options) end function p._main(args, options) -- Get the list of pages. If no first page was specified we use the current -- page name. local currentTitle = mw.title.getCurrentTitle() if #args == 0 then args = {currentTitle.text} end local firstPage = string.gsub(args[1], '|.*$', '') -- Find the pagetype. local pageType = mHatnote.findNamespaceId(firstPage) == 0 and 'article' or 'page' -- Make the formatted link text list = mHatlist.andList(args, true) -- Build the text. local isPlural = #args > 1 local mainForm local curNs = currentTitle.namespace if (curNs == 14) or (curNs == 15) then --category/talk namespaces mainForm = isPlural and 'The main %ss for this [[Wikipedia:Categorization|category]] are %s' or 'The main %s for this [[Wikipedia:Categorization|category]] is %s' else mainForm = isPlural and 'Main %ss: %s' or 'Main %s: %s' end local text = string.format(mainForm, pageType, list) -- Process the options and pass the text to the _rellink function in -- [[Module:Hatnote]]. options = options or {} local hnOptions = { selfref = options.selfref } return mHatnote._hatnote(text, hnOptions) end return p 517f3aa2c528cf570341bd093fd71fefd6755aca Module:Check for unknown parameters 828 21 38 2023-04-20T16:21:41Z whentheycrywiki>Kinzo 0 1 revision imported from [[:wikipedia:Module:Check_for_unknown_parameters]]: nihongo update Scribunto text/plain -- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list local p = {} local function trim(s) return s:match('^%s*(.-)%s*$') end local function isnotempty(s) return s and s:match('%S') end local function clean(text) -- Return text cleaned for display and truncated if too long. -- Strip markers are replaced with dummy text representing the original wikitext. local pos, truncated local function truncate(text) if truncated then return '' end if mw.ustring.len(text) > 25 then truncated = true text = mw.ustring.sub(text, 1, 25) .. '...' end return mw.text.nowiki(text) end local parts = {} for before, tag, remainder in text:gmatch('([^\127]*)\127[^\127]*%-(%l+)%-[^\127]*\127()') do pos = remainder table.insert(parts, truncate(before) .. '&lt;' .. tag .. '&gt;...&lt;/' .. tag .. '&gt;') end table.insert(parts, truncate(text:sub(pos or 1))) return table.concat(parts) end function p._check(args, pargs) if type(args) ~= "table" or type(pargs) ~= "table" then -- TODO: error handling return end -- create the list of known args, regular expressions, and the return string local knownargs = {} local regexps = {} for k, v in pairs(args) do if type(k) == 'number' then v = trim(v) knownargs[v] = 1 elseif k:find('^regexp[1-9][0-9]*$') then table.insert(regexps, '^' .. v .. '$') end end -- loop over the parent args, and make sure they are on the list local ignoreblank = isnotempty(args['ignoreblank']) local showblankpos = isnotempty(args['showblankpositional']) local values = {} for k, v in pairs(pargs) do if type(k) == 'string' and knownargs[k] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(k, regexp) then knownflag = true break end end if not knownflag and ( not ignoreblank or isnotempty(v) ) then table.insert(values, clean(k)) end elseif type(k) == 'number' and knownargs[tostring(k)] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(tostring(k), regexp) then knownflag = true break end end if not knownflag and ( showblankpos or isnotempty(v) ) then table.insert(values, k .. ' = ' .. clean(v)) end end end -- add results to the output tables local res = {} if #values > 0 then local unknown_text = args['unknown'] or 'Found _VALUE_, ' if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then local preview_text = args['preview'] if isnotempty(preview_text) then preview_text = require('Module:If preview')._warning({preview_text}) elseif preview == nil then preview_text = unknown_text end unknown_text = preview_text end for _, v in pairs(values) do -- Fix odd bug for | = which gets stripped to the empty string and -- breaks category links if v == '' then v = ' ' end -- avoid error with v = 'example%2' ("invalid capture index") local r = unknown_text:gsub('_VALUE_', {_VALUE_ = v}) table.insert(res, r) end end return table.concat(res) end function p.check(frame) local args = frame.args local pargs = frame:getParent().args return p._check(args, pargs) end return p 93db6d115d4328d2a5148bb42959105e367b663e 39 38 2023-12-13T14:31:29Z Systemzero 2 1 revision imported Scribunto text/plain -- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list local p = {} local function trim(s) return s:match('^%s*(.-)%s*$') end local function isnotempty(s) return s and s:match('%S') end local function clean(text) -- Return text cleaned for display and truncated if too long. -- Strip markers are replaced with dummy text representing the original wikitext. local pos, truncated local function truncate(text) if truncated then return '' end if mw.ustring.len(text) > 25 then truncated = true text = mw.ustring.sub(text, 1, 25) .. '...' end return mw.text.nowiki(text) end local parts = {} for before, tag, remainder in text:gmatch('([^\127]*)\127[^\127]*%-(%l+)%-[^\127]*\127()') do pos = remainder table.insert(parts, truncate(before) .. '&lt;' .. tag .. '&gt;...&lt;/' .. tag .. '&gt;') end table.insert(parts, truncate(text:sub(pos or 1))) return table.concat(parts) end function p._check(args, pargs) if type(args) ~= "table" or type(pargs) ~= "table" then -- TODO: error handling return end -- create the list of known args, regular expressions, and the return string local knownargs = {} local regexps = {} for k, v in pairs(args) do if type(k) == 'number' then v = trim(v) knownargs[v] = 1 elseif k:find('^regexp[1-9][0-9]*$') then table.insert(regexps, '^' .. v .. '$') end end -- loop over the parent args, and make sure they are on the list local ignoreblank = isnotempty(args['ignoreblank']) local showblankpos = isnotempty(args['showblankpositional']) local values = {} for k, v in pairs(pargs) do if type(k) == 'string' and knownargs[k] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(k, regexp) then knownflag = true break end end if not knownflag and ( not ignoreblank or isnotempty(v) ) then table.insert(values, clean(k)) end elseif type(k) == 'number' and knownargs[tostring(k)] == nil then local knownflag = false for _, regexp in ipairs(regexps) do if mw.ustring.match(tostring(k), regexp) then knownflag = true break end end if not knownflag and ( showblankpos or isnotempty(v) ) then table.insert(values, k .. ' = ' .. clean(v)) end end end -- add results to the output tables local res = {} if #values > 0 then local unknown_text = args['unknown'] or 'Found _VALUE_, ' if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then local preview_text = args['preview'] if isnotempty(preview_text) then preview_text = require('Module:If preview')._warning({preview_text}) elseif preview == nil then preview_text = unknown_text end unknown_text = preview_text end for _, v in pairs(values) do -- Fix odd bug for | = which gets stripped to the empty string and -- breaks category links if v == '' then v = ' ' end -- avoid error with v = 'example%2' ("invalid capture index") local r = unknown_text:gsub('_VALUE_', {_VALUE_ = v}) table.insert(res, r) end end return table.concat(res) end function p.check(frame) local args = frame.args local pargs = frame:getParent().args return p._check(args, pargs) end return p 93db6d115d4328d2a5148bb42959105e367b663e Module:Format link 828 15 60 2023-04-20T16:21:45Z whentheycrywiki>Kinzo 0 1 revision imported from [[:wikipedia:Module:Format_link]]: nihongo update Scribunto text/plain -------------------------------------------------------------------------------- -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the {{format link}} template. -------------------------------------------------------------------------------- local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg local mArguments -- lazily initialise [[Module:Arguments]] local mError -- lazily initialise [[Module:Error]] local yesno -- lazily initialise [[Module:Yesno]] local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end local function maybeItalicize(s, shouldItalicize) -- Italicize s if s is a string and the shouldItalicize parameter is true. if s and shouldItalicize then return '<i>' .. s .. '</i>' else return s end end local function parseLink(link) -- Parse a link and return a table with the link's components. -- These components are: -- - link: the link, stripped of any initial colon (always present) -- - page: the page name (always present) -- - section: the page name (may be nil) -- - display: the display text, if manually entered after a pipe (may be nil) link = removeInitialColon(link) -- Find whether a faux display value has been added with the {{!}} magic -- word. local prePipe, display = link:match('^(.-)|(.*)$') link = prePipe or link -- Find the page, if it exists. -- For links like [[#Bar]], the page will be nil. local preHash, postHash = link:match('^(.-)#(.*)$') local page if not preHash then -- We have a link like [[Foo]]. page = link elseif preHash ~= '' then -- We have a link like [[Foo#Bar]]. page = preHash end -- Find the section, if it exists. local section if postHash and postHash ~= '' then section = postHash end return { link = link, page = page, section = section, display = display, } end local function formatDisplay(parsed, options) -- Formats a display string based on a parsed link table (matching the -- output of parseLink) and an options table (matching the input options for -- _formatLink). local page = maybeItalicize(parsed.page, options.italicizePage) local section = maybeItalicize(parsed.section, options.italicizeSection) if (not section) then return page elseif (not page) then return mw.ustring.format('§&nbsp;%s', section) else return mw.ustring.format('%s §&nbsp;%s', page, section) end end local function missingArgError(target) mError = require('Module:Error') return mError.error{message = 'Error: no link or target specified! ([[' .. target .. '#Errors|help]])' } end -------------------------------------------------------------------------------- -- Main functions -------------------------------------------------------------------------------- function p.formatLink(frame) -- The formatLink export function, for use in templates. yesno = require('Module:Yesno') local args = getArgs(frame) local link = args[1] or args.link local target = args[3] or args.target if not (link or target) then return missingArgError('Template:Format link') end return p._formatLink{ link = link, display = args[2] or args.display, target = target, italicizePage = yesno(args.italicizepage), italicizeSection = yesno(args.italicizesection), categorizeMissing = args.categorizemissing } end function p._formatLink(options) -- The formatLink export function, for use in modules. checkType('_formatLink', 1, options, 'table') local function check(key, expectedType) --for brevity checkTypeForNamedArg( '_formatLink', key, options[key], expectedType or 'string', true ) end check('link') check('display') check('target') check('italicizePage', 'boolean') check('italicizeSection', 'boolean') check('categorizeMissing') -- Normalize link and target and check that at least one is present if options.link == '' then options.link = nil end if options.target == '' then options.target = nil end if not (options.link or options.target) then return missingArgError('Module:Format link') end local parsed = parseLink(options.link) local display = options.display or parsed.display local catMissing = options.categorizeMissing local category = '' -- Find the display text if not display then display = formatDisplay(parsed, options) end -- Handle the target option if present if options.target then local parsedTarget = parseLink(options.target) parsed.link = parsedTarget.link parsed.page = parsedTarget.page end -- Test if page exists if a diagnostic category is specified if catMissing and (mw.ustring.len(catMissing) > 0) then local title = nil if parsed.page then title = mw.title.new(parsed.page) end if title and (not title.isExternal) then local success, exists = pcall(function() return title.exists end) if success and not exists then category = mw.ustring.format('[[Category:%s]]', catMissing) end end end -- Format the result as a link if parsed.link == display then return mw.ustring.format('[[:%s]]%s', parsed.link, category) else return mw.ustring.format('[[:%s|%s]]%s', parsed.link, display, category) end end -------------------------------------------------------------------------------- -- Derived convenience functions -------------------------------------------------------------------------------- function p.formatPages(options, pages) -- Formats an array of pages using formatLink and the given options table, -- and returns it as an array. Nil values are not allowed. local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink{ link = page, categorizeMissing = options.categorizeMissing, italicizePage = options.italicizePage, italicizeSection = options.italicizeSection } end return ret end return p 1253bdd2683ee4badc33856bfd5499b09a7dca1f 26 2023-12-13T13:43:56Z Systemzero 2 Created page with "-------------------------------------------------------------------------------- -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the {{format link}} template. -------------------------------------------------------------------------------- local libraryUtil = require(..." Scribunto text/plain -------------------------------------------------------------------------------- -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the {{format link}} template. -------------------------------------------------------------------------------- local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg local mArguments -- lazily initialise [[Module:Arguments]] local mError -- lazily initialise [[Module:Error]] local yesno -- lazily initialise [[Module:Yesno]] local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end local function maybeItalicize(s, shouldItalicize) -- Italicize s if s is a string and the shouldItalicize parameter is true. if s and shouldItalicize then return '<i>' .. s .. '</i>' else return s end end local function parseLink(link) -- Parse a link and return a table with the link's components. -- These components are: -- - link: the link, stripped of any initial colon (always present) -- - page: the page name (always present) -- - section: the page name (may be nil) -- - display: the display text, if manually entered after a pipe (may be nil) link = removeInitialColon(link) -- Find whether a faux display value has been added with the {{!}} magic -- word. local prePipe, display = link:match('^(.-)|(.*)$') link = prePipe or link -- Find the page, if it exists. -- For links like [[#Bar]], the page will be nil. local preHash, postHash = link:match('^(.-)#(.*)$') local page if not preHash then -- We have a link like [[Foo]]. page = link elseif preHash ~= '' then -- We have a link like [[Foo#Bar]]. page = preHash end -- Find the section, if it exists. local section if postHash and postHash ~= '' then section = postHash end return { link = link, page = page, section = section, display = display, } end local function formatDisplay(parsed, options) -- Formats a display string based on a parsed link table (matching the -- output of parseLink) and an options table (matching the input options for -- _formatLink). local page = maybeItalicize(parsed.page, options.italicizePage) local section = maybeItalicize(parsed.section, options.italicizeSection) if (not section) then return page elseif (not page) then return mw.ustring.format('§&nbsp;%s', section) else return mw.ustring.format('%s §&nbsp;%s', page, section) end end local function missingArgError(target) mError = require('Module:Error') return mError.error{message = 'Error: no link or target specified! ([[' .. target .. '#Errors|help]])' } end -------------------------------------------------------------------------------- -- Main functions -------------------------------------------------------------------------------- function p.formatLink(frame) -- The formatLink export function, for use in templates. yesno = require('Module:Yesno') local args = getArgs(frame) local link = args[1] or args.link local target = args[3] or args.target if not (link or target) then return missingArgError('Template:Format link') end return p._formatLink{ link = link, display = args[2] or args.display, target = target, italicizePage = yesno(args.italicizepage), italicizeSection = yesno(args.italicizesection), categorizeMissing = args.categorizemissing } end function p._formatLink(options) -- The formatLink export function, for use in modules. checkType('_formatLink', 1, options, 'table') local function check(key, expectedType) --for brevity checkTypeForNamedArg( '_formatLink', key, options[key], expectedType or 'string', true ) end check('link') check('display') check('target') check('italicizePage', 'boolean') check('italicizeSection', 'boolean') check('categorizeMissing') -- Normalize link and target and check that at least one is present if options.link == '' then options.link = nil end if options.target == '' then options.target = nil end if not (options.link or options.target) then return missingArgError('Module:Format link') end local parsed = parseLink(options.link) local display = options.display or parsed.display local catMissing = options.categorizeMissing local category = '' -- Find the display text if not display then display = formatDisplay(parsed, options) end -- Handle the target option if present if options.target then local parsedTarget = parseLink(options.target) parsed.link = parsedTarget.link parsed.page = parsedTarget.page end -- Test if page exists if a diagnostic category is specified if catMissing and (mw.ustring.len(catMissing) > 0) then local title = nil if parsed.page then title = mw.title.new(parsed.page) end if title and (not title.isExternal) then local success, exists = pcall(function() return title.exists end) if success and not exists then category = mw.ustring.format('[[Category:%s]]', catMissing) end end end -- Format the result as a link if parsed.link == display then return mw.ustring.format('[[:%s]]%s', parsed.link, category) else return mw.ustring.format('[[:%s|%s]]%s', parsed.link, display, category) end end -------------------------------------------------------------------------------- -- Derived convenience functions -------------------------------------------------------------------------------- function p.formatPages(options, pages) -- Formats an array of pages using formatLink and the given options table, -- and returns it as an array. Nil values are not allowed. local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink{ link = page, categorizeMissing = options.categorizeMissing, italicizePage = options.italicizePage, italicizeSection = options.italicizeSection } end return ret end return p 5c878065ff3809629376f94da43cf39a395b01b1 Module:Hatnote 828 13 52 2023-04-20T16:21:46Z whentheycrywiki>Kinzo 0 1 revision imported from [[:wikipedia:Module:Hatnote]]: nihongo update Scribunto text/plain -------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the {{hatnote}} and {{format link}} meta-templates and includes -- -- helper functions for other Lua hatnote modules. -- -------------------------------------------------------------------------------- local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg local mArguments -- lazily initialise [[Module:Arguments]] local yesno -- lazily initialise [[Module:Yesno]] local formatLink -- lazily initialise [[Module:Format link]] ._formatLink local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end function p.defaultClasses(inline) -- Provides the default hatnote classes as a space-separated string; useful -- for hatnote-manipulation modules like [[Module:Hatnote group]]. return (inline == 1 and 'hatnote-inline' or 'hatnote') .. ' ' .. 'navigation-not-searchable' end function p.disambiguate(page, disambiguator) -- Formats a page title with a disambiguation parenthetical, -- i.e. "Example" → "Example (disambiguation)". checkType('disambiguate', 1, page, 'string') checkType('disambiguate', 2, disambiguator, 'string', true) disambiguator = disambiguator or 'disambiguation' return mw.ustring.format('%s (%s)', page, disambiguator) end function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to false. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end function p.makeWikitextError(msg, helpLink, addTrackingCategory, title) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- [[Module:Yesno]], and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') title = title or mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' ([[' .. helpLink .. '|help]])' else helpText = '' end -- Make the category text. local category if not title.isTalkPage -- Don't categorise talk pages and title.namespace ~= 2 -- Don't categorise userspace and yesno(addTrackingCategory) ~= false -- Allow opting out then category = 'Hatnote templates with errors' category = mw.ustring.format( '[[%s:%s]]', mw.site.namespaces[14].name, category ) else category = '' end return mw.ustring.format( '<strong class="error">Error: %s%s.</strong>%s', msg, helpText, category ) end local curNs = mw.title.getCurrentTitle().namespace p.missingTargetCat = --Default missing target category, exported for use in related modules ((curNs == 0) or (curNs == 14)) and 'Articles with hatnote templates targeting a nonexistent page' or nil function p.quote(title) --Wraps titles in quotation marks. If the title starts/ends with a quotation --mark, kerns that side as with {{-'}} local quotationMarks = { ["'"]=true, ['"']=true, ['“']=true, ["‘"]=true, ['”']=true, ["’"]=true } local quoteLeft, quoteRight = -- Test if start/end are quotation marks quotationMarks[string.sub(title, 1, 1)], quotationMarks[string.sub(title, -1, -1)] if quoteLeft or quoteRight then title = mw.html.create("span"):wikitext(title) end if quoteLeft then title:css("padding-left", "0.15em") end if quoteRight then title:css("padding-right", "0.15em") end return '"' .. tostring(title) .. '"' end -------------------------------------------------------------------------------- -- Hatnote -- -- Produces standard hatnote text. Implements the {{hatnote}} template. -------------------------------------------------------------------------------- function p.hatnote(frame) local args = getArgs(frame) local s = args[1] if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end return p._hatnote(s, { extraclasses = args.extraclasses, selfref = args.selfref }) end function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) options = options or {} local inline = options.inline local hatnote = mw.html.create(inline == 1 and 'span' or 'div') local extraclasses if type(options.extraclasses) == 'string' then extraclasses = options.extraclasses end hatnote :attr('role', 'note') :addClass(p.defaultClasses(inline)) :addClass(extraclasses) :addClass(options.selfref and 'selfref' or nil) :wikitext(s) return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Hatnote/styles.css' } } .. tostring(hatnote) end return p 3ae1ed7094c5005ca0896395ec9a587287a0bef1 24 2023-12-13T13:33:58Z Systemzero 2 Created page with "-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the {{hatnote}} and {{format link}} meta-templates and includes -- -- helper functions for other Lua hatnote modules...." Scribunto text/plain -------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the {{hatnote}} and {{format link}} meta-templates and includes -- -- helper functions for other Lua hatnote modules. -- -------------------------------------------------------------------------------- local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg local mArguments -- lazily initialise [[Module:Arguments]] local yesno -- lazily initialise [[Module:Yesno]] local formatLink -- lazily initialise [[Module:Format link]] ._formatLink local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end function p.defaultClasses(inline) -- Provides the default hatnote classes as a space-separated string; useful -- for hatnote-manipulation modules like [[Module:Hatnote group]]. return (inline == 1 and 'hatnote-inline' or 'hatnote') .. ' ' .. 'navigation-not-searchable' end function p.disambiguate(page, disambiguator) -- Formats a page title with a disambiguation parenthetical, -- i.e. "Example" → "Example (disambiguation)". checkType('disambiguate', 1, page, 'string') checkType('disambiguate', 2, disambiguator, 'string', true) disambiguator = disambiguator or 'disambiguation' return mw.ustring.format('%s (%s)', page, disambiguator) end function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to false. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end function p.makeWikitextError(msg, helpLink, addTrackingCategory, title) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- [[Module:Yesno]], and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') title = title or mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' ([[' .. helpLink .. '|help]])' else helpText = '' end -- Make the category text. local category if not title.isTalkPage -- Don't categorise talk pages and title.namespace ~= 2 -- Don't categorise userspace and yesno(addTrackingCategory) ~= false -- Allow opting out then category = 'Hatnote templates with errors' category = mw.ustring.format( '[[%s:%s]]', mw.site.namespaces[14].name, category ) else category = '' end return mw.ustring.format( '<strong class="error">Error: %s%s.</strong>%s', msg, helpText, category ) end local curNs = mw.title.getCurrentTitle().namespace p.missingTargetCat = --Default missing target category, exported for use in related modules ((curNs == 0) or (curNs == 14)) and 'Articles with hatnote templates targeting a nonexistent page' or nil function p.quote(title) --Wraps titles in quotation marks. If the title starts/ends with a quotation --mark, kerns that side as with {{-'}} local quotationMarks = { ["'"]=true, ['"']=true, ['“']=true, ["‘"]=true, ['”']=true, ["’"]=true } local quoteLeft, quoteRight = -- Test if start/end are quotation marks quotationMarks[string.sub(title, 1, 1)], quotationMarks[string.sub(title, -1, -1)] if quoteLeft or quoteRight then title = mw.html.create("span"):wikitext(title) end if quoteLeft then title:css("padding-left", "0.15em") end if quoteRight then title:css("padding-right", "0.15em") end return '"' .. tostring(title) .. '"' end -------------------------------------------------------------------------------- -- Hatnote -- -- Produces standard hatnote text. Implements the {{hatnote}} template. -------------------------------------------------------------------------------- function p.hatnote(frame) local args = getArgs(frame) local s = args[1] if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end return p._hatnote(s, { extraclasses = args.extraclasses, selfref = args.selfref }) end function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) options = options or {} local inline = options.inline local hatnote = mw.html.create(inline == 1 and 'span' or 'div') local extraclasses if type(options.extraclasses) == 'string' then extraclasses = options.extraclasses end hatnote :attr('role', 'note') :addClass(p.defaultClasses(inline)) :addClass(extraclasses) :addClass(options.selfref and 'selfref' or nil) :wikitext(s) return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Hatnote/styles.css' } } .. tostring(hatnote) end return p 3ae1ed7094c5005ca0896395ec9a587287a0bef1 Module:Hatnote list 828 14 54 2023-04-20T16:21:47Z whentheycrywiki>Kinzo 0 1 revision imported from [[:wikipedia:Module:Hatnote_list]]: nihongo update Scribunto text/plain -------------------------------------------------------------------------------- -- Module:Hatnote list -- -- -- -- This module produces and formats lists for use in hatnotes. In particular, -- -- it implements the for-see list, i.e. lists of "For X, see Y" statements, -- -- as used in {{about}}, {{redirect}}, and their variants. Also introduced -- -- are andList & orList helpers for formatting lists with those conjunctions. -- -------------------------------------------------------------------------------- local mArguments --initialize lazily local mFormatLink = require('Module:Format link') local mHatnote = require('Module:Hatnote') local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local p = {} -------------------------------------------------------------------------------- -- List stringification helper functions -- -- These functions are used for stringifying lists, usually page lists inside -- the "Y" portion of "For X, see Y" for-see items. -------------------------------------------------------------------------------- --default options table used across the list stringification functions local stringifyListDefaultOptions = { conjunction = "and", separator = ",", altSeparator = ";", space = " ", formatted = false } --Searches display text only local function searchDisp(haystack, needle) return string.find( string.sub(haystack, (string.find(haystack, '|') or 0) + 1), needle ) end -- Stringifies a list generically; probably shouldn't be used directly local function stringifyList(list, options) -- Type-checks, defaults, and a shortcut checkType("stringifyList", 1, list, "table") if #list == 0 then return nil end checkType("stringifyList", 2, options, "table", true) options = options or {} for k, v in pairs(stringifyListDefaultOptions) do if options[k] == nil then options[k] = v end end local s = options.space -- Format the list if requested if options.formatted then list = mFormatLink.formatPages( {categorizeMissing = mHatnote.missingTargetCat}, list ) end -- Set the separator; if any item contains it, use the alternate separator local separator = options.separator for k, v in pairs(list) do if searchDisp(v, separator) then separator = options.altSeparator break end end -- Set the conjunction, apply Oxford comma, and force a comma if #1 has "§" local conjunction = s .. options.conjunction .. s if #list == 2 and searchDisp(list[1], "§") or #list > 2 then conjunction = separator .. conjunction end -- Return the formatted string return mw.text.listToText(list, separator .. s, conjunction) end --DRY function function p.conjList (conj, list, fmt) return stringifyList(list, {conjunction = conj, formatted = fmt}) end -- Stringifies lists with "and" or "or" function p.andList (...) return p.conjList("and", ...) end function p.orList (...) return p.conjList("or", ...) end -------------------------------------------------------------------------------- -- For see -- -- Makes a "For X, see [[Y]]." list from raw parameters. Intended for the -- {{about}} and {{redirect}} templates and their variants. -------------------------------------------------------------------------------- --default options table used across the forSee family of functions local forSeeDefaultOptions = { andKeyword = 'and', title = mw.title.getCurrentTitle().text, otherText = 'other uses', forSeeForm = 'For %s, see %s.', } --Collapses duplicate punctuation local function punctuationCollapse (text) local replacements = { ["%.%.$"] = ".", ["%?%.$"] = "?", ["%!%.$"] = "!", ["%.%]%]%.$"] = ".]]", ["%?%]%]%.$"] = "?]]", ["%!%]%]%.$"] = "!]]" } for k, v in pairs(replacements) do text = string.gsub(text, k, v) end return text end -- Structures arguments into a table for stringification, & options function p.forSeeArgsToTable (args, from, options) -- Type-checks and defaults checkType("forSeeArgsToTable", 1, args, 'table') checkType("forSeeArgsToTable", 2, from, 'number', true) from = from or 1 checkType("forSeeArgsToTable", 3, options, 'table', true) options = options or {} for k, v in pairs(forSeeDefaultOptions) do if options[k] == nil then options[k] = v end end -- maxArg's gotten manually because getArgs() and table.maxn aren't friends local maxArg = 0 for k, v in pairs(args) do if type(k) == 'number' and k > maxArg then maxArg = k end end -- Structure the data out from the parameter list: -- * forTable is the wrapper table, with forRow rows -- * Rows are tables of a "use" string & a "pages" table of pagename strings -- * Blanks are left empty for defaulting elsewhere, but can terminate list local forTable = {} local i = from local terminated = false -- If there is extra text, and no arguments are given, give nil value -- to not produce default of "For other uses, see foo (disambiguation)" if options.extratext and i > maxArg then return nil end -- Loop to generate rows repeat -- New empty row local forRow = {} -- On blank use, assume list's ended & break at end of this loop forRow.use = args[i] if not args[i] then terminated = true end -- New empty list of pages forRow.pages = {} -- Insert first pages item if present table.insert(forRow.pages, args[i + 1]) -- If the param after next is "and", do inner loop to collect params -- until the "and"'s stop. Blanks are ignored: "1|and||and|3" → {1, 3} while args[i + 2] == options.andKeyword do if args[i + 3] then table.insert(forRow.pages, args[i + 3]) end -- Increment to next "and" i = i + 2 end -- Increment to next use i = i + 2 -- Append the row table.insert(forTable, forRow) until terminated or i > maxArg return forTable end -- Stringifies a table as formatted by forSeeArgsToTable function p.forSeeTableToString (forSeeTable, options) -- Type-checks and defaults checkType("forSeeTableToString", 1, forSeeTable, "table", true) checkType("forSeeTableToString", 2, options, "table", true) options = options or {} for k, v in pairs(forSeeDefaultOptions) do if options[k] == nil then options[k] = v end end -- Stringify each for-see item into a list local strList = {} if forSeeTable then for k, v in pairs(forSeeTable) do local useStr = v.use or options.otherText local pagesStr = p.andList(v.pages, true) or mFormatLink._formatLink{ categorizeMissing = mHatnote.missingTargetCat, link = mHatnote.disambiguate(options.title) } local forSeeStr = string.format(options.forSeeForm, useStr, pagesStr) forSeeStr = punctuationCollapse(forSeeStr) table.insert(strList, forSeeStr) end end if options.extratext then table.insert(strList, punctuationCollapse(options.extratext..'.')) end -- Return the concatenated list return table.concat(strList, ' ') end -- Produces a "For X, see [[Y]]" string from arguments. Expects index gaps -- but not blank/whitespace values. Ignores named args and args < "from". function p._forSee (args, from, options) local forSeeTable = p.forSeeArgsToTable(args, from, options) return p.forSeeTableToString(forSeeTable, options) end -- As _forSee, but uses the frame. function p.forSee (frame, from, options) mArguments = require('Module:Arguments') return p._forSee(mArguments.getArgs(frame), from, options) end return p d0828422b1aa0d0d0092d699d059c9e882260398 25 2023-12-13T13:36:02Z Systemzero 2 Created page with "-------------------------------------------------------------------------------- -- Module:Hatnote list -- -- -- -- This module produces and formats lists for use in hatnotes. In particular, -- -- it implements the for-see list, i.e. lists of "For X, see Y" statements, -- -- as used in {{about}}, {{redirect}}, and their variants. Also introd..." Scribunto text/plain -------------------------------------------------------------------------------- -- Module:Hatnote list -- -- -- -- This module produces and formats lists for use in hatnotes. In particular, -- -- it implements the for-see list, i.e. lists of "For X, see Y" statements, -- -- as used in {{about}}, {{redirect}}, and their variants. Also introduced -- -- are andList & orList helpers for formatting lists with those conjunctions. -- -------------------------------------------------------------------------------- local mArguments --initialize lazily local mFormatLink = require('Module:Format link') local mHatnote = require('Module:Hatnote') local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local p = {} -------------------------------------------------------------------------------- -- List stringification helper functions -- -- These functions are used for stringifying lists, usually page lists inside -- the "Y" portion of "For X, see Y" for-see items. -------------------------------------------------------------------------------- --default options table used across the list stringification functions local stringifyListDefaultOptions = { conjunction = "and", separator = ",", altSeparator = ";", space = " ", formatted = false } --Searches display text only local function searchDisp(haystack, needle) return string.find( string.sub(haystack, (string.find(haystack, '|') or 0) + 1), needle ) end -- Stringifies a list generically; probably shouldn't be used directly local function stringifyList(list, options) -- Type-checks, defaults, and a shortcut checkType("stringifyList", 1, list, "table") if #list == 0 then return nil end checkType("stringifyList", 2, options, "table", true) options = options or {} for k, v in pairs(stringifyListDefaultOptions) do if options[k] == nil then options[k] = v end end local s = options.space -- Format the list if requested if options.formatted then list = mFormatLink.formatPages( {categorizeMissing = mHatnote.missingTargetCat}, list ) end -- Set the separator; if any item contains it, use the alternate separator local separator = options.separator for k, v in pairs(list) do if searchDisp(v, separator) then separator = options.altSeparator break end end -- Set the conjunction, apply Oxford comma, and force a comma if #1 has "§" local conjunction = s .. options.conjunction .. s if #list == 2 and searchDisp(list[1], "§") or #list > 2 then conjunction = separator .. conjunction end -- Return the formatted string return mw.text.listToText(list, separator .. s, conjunction) end --DRY function function p.conjList (conj, list, fmt) return stringifyList(list, {conjunction = conj, formatted = fmt}) end -- Stringifies lists with "and" or "or" function p.andList (...) return p.conjList("and", ...) end function p.orList (...) return p.conjList("or", ...) end -------------------------------------------------------------------------------- -- For see -- -- Makes a "For X, see [[Y]]." list from raw parameters. Intended for the -- {{about}} and {{redirect}} templates and their variants. -------------------------------------------------------------------------------- --default options table used across the forSee family of functions local forSeeDefaultOptions = { andKeyword = 'and', title = mw.title.getCurrentTitle().text, otherText = 'other uses', forSeeForm = 'For %s, see %s.', } --Collapses duplicate punctuation local function punctuationCollapse (text) local replacements = { ["%.%.$"] = ".", ["%?%.$"] = "?", ["%!%.$"] = "!", ["%.%]%]%.$"] = ".]]", ["%?%]%]%.$"] = "?]]", ["%!%]%]%.$"] = "!]]" } for k, v in pairs(replacements) do text = string.gsub(text, k, v) end return text end -- Structures arguments into a table for stringification, & options function p.forSeeArgsToTable (args, from, options) -- Type-checks and defaults checkType("forSeeArgsToTable", 1, args, 'table') checkType("forSeeArgsToTable", 2, from, 'number', true) from = from or 1 checkType("forSeeArgsToTable", 3, options, 'table', true) options = options or {} for k, v in pairs(forSeeDefaultOptions) do if options[k] == nil then options[k] = v end end -- maxArg's gotten manually because getArgs() and table.maxn aren't friends local maxArg = 0 for k, v in pairs(args) do if type(k) == 'number' and k > maxArg then maxArg = k end end -- Structure the data out from the parameter list: -- * forTable is the wrapper table, with forRow rows -- * Rows are tables of a "use" string & a "pages" table of pagename strings -- * Blanks are left empty for defaulting elsewhere, but can terminate list local forTable = {} local i = from local terminated = false -- If there is extra text, and no arguments are given, give nil value -- to not produce default of "For other uses, see foo (disambiguation)" if options.extratext and i > maxArg then return nil end -- Loop to generate rows repeat -- New empty row local forRow = {} -- On blank use, assume list's ended & break at end of this loop forRow.use = args[i] if not args[i] then terminated = true end -- New empty list of pages forRow.pages = {} -- Insert first pages item if present table.insert(forRow.pages, args[i + 1]) -- If the param after next is "and", do inner loop to collect params -- until the "and"'s stop. Blanks are ignored: "1|and||and|3" → {1, 3} while args[i + 2] == options.andKeyword do if args[i + 3] then table.insert(forRow.pages, args[i + 3]) end -- Increment to next "and" i = i + 2 end -- Increment to next use i = i + 2 -- Append the row table.insert(forTable, forRow) until terminated or i > maxArg return forTable end -- Stringifies a table as formatted by forSeeArgsToTable function p.forSeeTableToString (forSeeTable, options) -- Type-checks and defaults checkType("forSeeTableToString", 1, forSeeTable, "table", true) checkType("forSeeTableToString", 2, options, "table", true) options = options or {} for k, v in pairs(forSeeDefaultOptions) do if options[k] == nil then options[k] = v end end -- Stringify each for-see item into a list local strList = {} if forSeeTable then for k, v in pairs(forSeeTable) do local useStr = v.use or options.otherText local pagesStr = p.andList(v.pages, true) or mFormatLink._formatLink{ categorizeMissing = mHatnote.missingTargetCat, link = mHatnote.disambiguate(options.title) } local forSeeStr = string.format(options.forSeeForm, useStr, pagesStr) forSeeStr = punctuationCollapse(forSeeStr) table.insert(strList, forSeeStr) end end if options.extratext then table.insert(strList, punctuationCollapse(options.extratext..'.')) end -- Return the concatenated list return table.concat(strList, ' ') end -- Produces a "For X, see [[Y]]" string from arguments. Expects index gaps -- but not blank/whitespace values. Ignores named args and args < "from". function p._forSee (args, from, options) local forSeeTable = p.forSeeArgsToTable(args, from, options) return p.forSeeTableToString(forSeeTable, options) end -- As _forSee, but uses the frame. function p.forSee (frame, from, options) mArguments = require('Module:Arguments') return p._forSee(mArguments.getArgs(frame), from, options) end return p d0828422b1aa0d0d0092d699d059c9e882260398 Module:Hatnote/styles.css 828 27 58 2023-04-20T16:21:47Z whentheycrywiki>Kinzo 0 1 revision imported from [[:wikipedia:Module:Hatnote/styles.css]]: nihongo update text text/plain /* {{pp|small=y}} */ .hatnote { font-style: italic; } /* Limit structure CSS to divs because of [[Module:Hatnote inline]] */ div.hatnote { /* @noflip */ padding-left: 1.6em; margin-bottom: 0.5em; } .hatnote i { font-style: normal; } /* The templatestyles element inserts a link element before hatnotes. * TODO: Remove link if/when WMF resolves T200206 */ .hatnote + link + .hatnote { margin-top: -0.5em; } 44680ffd6e888866df2cdfa0341af9c7b97da94c Template:Main other 10 20 36 2023-09-01T00:06:15Z whentheycrywiki>Kinzo 0 1 revision imported from [[:wikipedia:Template:Main_other]]: w wikitext text/x-wiki {{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:0}} | main | other }} }} | main = {{{1|}}} | other | #default = {{{2|}}} }}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! --> </noinclude> 86ad907ffeea3cc545159e00cd1f2d6433946450 37 36 2023-12-13T14:31:28Z Systemzero 2 1 revision imported wikitext text/x-wiki {{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:0}} | main | other }} }} | main = {{{1|}}} | other | #default = {{{2|}}} }}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! --> </noinclude> 86ad907ffeea3cc545159e00cd1f2d6433946450 Template:Reflist 10 18 32 2023-09-03T00:11:17Z whentheycrywiki>Kinzo 0 1 revision imported from [[:wikipedia:Template:Reflist]] wikitext text/x-wiki <templatestyles src="Reflist/styles.css" /><div class="reflist <!-- -->{{#if:{{{1|}}}{{{colwidth|}}}|reflist-columns references-column-width}} <!-- -->{{#switch:{{{liststyle|{{{group|}}}}}}|upper-alpha|upper-roman|lower-alpha|lower-greek|lower-roman=reflist-{{{liststyle|{{{group}}}}}}}} <!-- -->{{#if:{{{1|}}}|{{#iferror:{{#ifexpr: {{{1|1}}} > 1 }}||{{#switch:{{{1|}}}|1=|2=reflist-columns-2|#default=reflist-columns-3}} }}}}" <!-- end class -->{{#if: {{{1|}}}<!-- start style --> | {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} |style="column-width: {{{1}}};"}} | {{#if: {{{colwidth|}}}|style="column-width: {{{colwidth}}};"}} }}> {{#tag:references|{{{refs|}}}|group={{{group|}}}|responsive={{#if:{{{1|}}}{{{colwidth|}}}|0|1}}}}</div>{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using reflist with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Reflist]] with unknown parameter "_VALUE_"|ignoreblank=y| 1 | colwidth | group | liststyle | refs }}<noinclude> {{Documentation}} </noinclude> 8c65cc88272db6c0f5cf2b49f84d3e460e60ee5f 30 2023-12-13T13:57:47Z Systemzero 2 Created page with "<templatestyles src="Reflist/styles.css" /><div class="reflist <!-- -->{{#if:{{{1|}}}{{{colwidth|}}}|reflist-columns references-column-width}} <!-- -->{{#switch:{{{liststyle|{{{group|}}}}}}|upper-alpha|upper-roman|lower-alpha|lower-greek|lower-roman=reflist-{{{liststyle|{{{group}}}}}}}} <!-- -->{{#if:{{{1|}}}|{{#iferror:{{#ifexpr: {{{1|1}}} > 1 }}||{{#switch:{{{1|}}}|1=|2=reflist-columns-2|#default=reflist-columns-3}} }}}}" <!-- end class -->{{#if: {{{1|}}}<!-- start sty..." wikitext text/x-wiki <templatestyles src="Reflist/styles.css" /><div class="reflist <!-- -->{{#if:{{{1|}}}{{{colwidth|}}}|reflist-columns references-column-width}} <!-- -->{{#switch:{{{liststyle|{{{group|}}}}}}|upper-alpha|upper-roman|lower-alpha|lower-greek|lower-roman=reflist-{{{liststyle|{{{group}}}}}}}} <!-- -->{{#if:{{{1|}}}|{{#iferror:{{#ifexpr: {{{1|1}}} > 1 }}||{{#switch:{{{1|}}}|1=|2=reflist-columns-2|#default=reflist-columns-3}} }}}}" <!-- end class -->{{#if: {{{1|}}}<!-- start style --> | {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} |style="column-width: {{{1}}};"}} | {{#if: {{{colwidth|}}}|style="column-width: {{{colwidth}}};"}} }}> {{#tag:references|{{{refs|}}}|group={{{group|}}}|responsive={{#if:{{{1|}}}{{{colwidth|}}}|0|1}}}}</div>{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using reflist with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Reflist]] with unknown parameter "_VALUE_"|ignoreblank=y| 1 | colwidth | group | liststyle | refs }}<noinclude> {{Documentation}} </noinclude> 8c65cc88272db6c0f5cf2b49f84d3e460e60ee5f 33 30 2023-12-13T14:31:27Z Systemzero 2 1 revision imported wikitext text/x-wiki <templatestyles src="Reflist/styles.css" /><div class="reflist <!-- -->{{#if:{{{1|}}}{{{colwidth|}}}|reflist-columns references-column-width}} <!-- -->{{#switch:{{{liststyle|{{{group|}}}}}}|upper-alpha|upper-roman|lower-alpha|lower-greek|lower-roman=reflist-{{{liststyle|{{{group}}}}}}}} <!-- -->{{#if:{{{1|}}}|{{#iferror:{{#ifexpr: {{{1|1}}} > 1 }}||{{#switch:{{{1|}}}|1=|2=reflist-columns-2|#default=reflist-columns-3}} }}}}" <!-- end class -->{{#if: {{{1|}}}<!-- start style --> | {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} |style="column-width: {{{1}}};"}} | {{#if: {{{colwidth|}}}|style="column-width: {{{colwidth}}};"}} }}> {{#tag:references|{{{refs|}}}|group={{{group|}}}|responsive={{#if:{{{1|}}}{{{colwidth|}}}|0|1}}}}</div>{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using reflist with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Reflist]] with unknown parameter "_VALUE_"|ignoreblank=y| 1 | colwidth | group | liststyle | refs }}<noinclude> {{Documentation}} </noinclude> 8c65cc88272db6c0f5cf2b49f84d3e460e60ee5f Template:Reflist/styles.css 10 26 48 2023-09-03T00:11:20Z whentheycrywiki>Kinzo 0 1 revision imported from [[:wikipedia:Template:Reflist/styles.css]] text text/plain /* {{pp|small=yes}} */ /* can we remove the font size declarations? .references gets a font-size in * common.css that is always 90, and there is nothing else in reflist out in * the wild. May affect column sizes. */ .reflist { font-size: 90%; /* Default font-size */ margin-bottom: 0.5em; list-style-type: decimal; } .reflist .references { font-size: 100%; /* Reset font-size when nested in div.reflist */ margin-bottom: 0; /* Avoid double margin when nested in div.reflist */ list-style-type: inherit; /* Enable custom list style types */ } /* columns-2 and columns-3 are legacy for "2 or more" column view from when the * template was implemented with column-count. */ .reflist-columns-2 { column-width: 30em; } .reflist-columns-3 { column-width: 25em; } /* Reset top margin for lists embedded in columns */ .reflist-columns { margin-top: 0.3em; } .reflist-columns ol { margin-top: 0; } /* Avoid elements breaking between columns */ .reflist-columns li { page-break-inside: avoid; /* Removed from CSS in favor of break-inside c. 2020 */ break-inside: avoid-column; } .reflist-upper-alpha { list-style-type: upper-alpha; } .reflist-upper-roman { list-style-type: upper-roman; } .reflist-lower-alpha { list-style-type: lower-alpha; } .reflist-lower-greek { list-style-type: lower-greek; } .reflist-lower-roman { list-style-type: lower-roman; } 531a26d48f0e7826c61f764cfb7d5fb200032c34 Module:Arguments 828 16 34 2023-11-30T20:54:22Z whentheycrywiki>Kinzo 0 1 revision imported from [[:mw:Module:Arguments]]: w Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 3134ecce8429b810d445e29eae115e2ae4c36c53 27 2023-12-13T13:45:46Z Systemzero 2 Created page with "-- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string'..." Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 3134ecce8429b810d445e29eae115e2ae4c36c53 35 27 2023-12-13T14:31:28Z Systemzero 2 1 revision imported Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 3134ecce8429b810d445e29eae115e2ae4c36c53 Template:Documentation 10 22 40 2023-11-30T20:54:23Z whentheycrywiki>Kinzo 0 1 revision imported from [[:mw:Template:Documentation]]: w wikitext text/x-wiki <noinclude> <languages/> </noinclude><includeonly>{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}</includeonly><noinclude> {{documentation|content= {{Lua|Module:Documentation}} <translate><!--T:12--> This template automatically displays a documentation box like the one you are seeing now, of which the content is sometimes transcluded from another page.</translate> <translate><!--T:13--> It is intended for pages which are [[<tvar name=1>Special:MyLanguage/Help:Transclusion</tvar>|transcluded]] in other pages, i.e. templates, whether in the template namespace or not.</translate> <translate> ==Usage== <!--T:2--> ===Customising display=== <!--T:3--> <!--T:4--> Overrides exist to customise the output in special cases: </translate> * <nowiki>{{</nowiki>documentation{{!}}'''heading'''=<nowiki>}}</nowiki> - <translate><!--T:5--> change the text of the "documentation" heading.</translate> <translate><!--T:10--> If this is set to blank, the entire heading line (including the first [edit] link) will also disappear.</translate> <translate> ==Rationale== <!--T:6--> </translate> <translate><!--T:7--> This template allows any page to use any documentation page, and makes it possible to protect templates while allowing anyone to edit the template's documentation and categories.</translate> <translate><!--T:8--> It also reduces server resources by circumventing a [[w:Wikipedia:Template limits|technical limitation of templates]] (see a [[<tvar name=1>:en:Special:Diff/69888944</tvar>|developer's explanation]]).</translate> <translate> ==See also== <!--T:9--> </translate> * <translate><!--T:14--> [[w:Template:Documentation subpage]]</translate> * {{tim|Documentation}} * <translate><!--T:11--> [[w:Wikipedia:Template documentation]]</translate> }} [[Category:Formatting templates{{#translation:}}|Template documentation]] [[Category:Template documentation{{#translation:}}| ]] </noinclude><includeonly>{{#if:{{{content|}}}| [[Category:Template documentation pages{{#translation:}}]] }}</includeonly> c1ef6cbf9cb4c65ddd087c09aa6affb00dc5bfad 41 40 2023-12-13T14:31:29Z Systemzero 2 1 revision imported wikitext text/x-wiki <noinclude> <languages/> </noinclude><includeonly>{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}</includeonly><noinclude> {{documentation|content= {{Lua|Module:Documentation}} <translate><!--T:12--> This template automatically displays a documentation box like the one you are seeing now, of which the content is sometimes transcluded from another page.</translate> <translate><!--T:13--> It is intended for pages which are [[<tvar name=1>Special:MyLanguage/Help:Transclusion</tvar>|transcluded]] in other pages, i.e. templates, whether in the template namespace or not.</translate> <translate> ==Usage== <!--T:2--> ===Customising display=== <!--T:3--> <!--T:4--> Overrides exist to customise the output in special cases: </translate> * <nowiki>{{</nowiki>documentation{{!}}'''heading'''=<nowiki>}}</nowiki> - <translate><!--T:5--> change the text of the "documentation" heading.</translate> <translate><!--T:10--> If this is set to blank, the entire heading line (including the first [edit] link) will also disappear.</translate> <translate> ==Rationale== <!--T:6--> </translate> <translate><!--T:7--> This template allows any page to use any documentation page, and makes it possible to protect templates while allowing anyone to edit the template's documentation and categories.</translate> <translate><!--T:8--> It also reduces server resources by circumventing a [[w:Wikipedia:Template limits|technical limitation of templates]] (see a [[<tvar name=1>:en:Special:Diff/69888944</tvar>|developer's explanation]]).</translate> <translate> ==See also== <!--T:9--> </translate> * <translate><!--T:14--> [[w:Template:Documentation subpage]]</translate> * {{tim|Documentation}} * <translate><!--T:11--> [[w:Wikipedia:Template documentation]]</translate> }} [[Category:Formatting templates{{#translation:}}|Template documentation]] [[Category:Template documentation{{#translation:}}| ]] </noinclude><includeonly>{{#if:{{{content|}}}| [[Category:Template documentation pages{{#translation:}}]] }}</includeonly> c1ef6cbf9cb4c65ddd087c09aa6affb00dc5bfad Module:Documentation 828 23 42 2023-11-30T20:54:25Z whentheycrywiki>Kinzo 0 1 revision imported from [[:mw:Module:Documentation]]: w Scribunto text/plain -- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs -- Get the config table. local cfg = mw.loadData('Module:Documentation/config') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub local format = mw.ustring.format ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made available in the p -- table for testing purposes. ---------------------------------------------------------------------------- local function message(cfgKey, valArray, expectType) --[[ -- Gets a message from the cfg table and formats it if appropriate. -- The function raises an error if the value from the cfg table is not -- of the type expectType. The default type for expectType is 'string'. -- If the table valArray is present, strings such as $1, $2 etc. in the -- message are substituted with values from the table keys [1], [2] etc. -- For example, if the message "foo-message" had the value 'Foo $2 bar $1.', -- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz." --]] local msg = cfg[cfgKey] expectType = expectType or 'string' if type(msg) ~= expectType then error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2) end if not valArray then return msg end local function getMessageVal(match) match = tonumber(match) return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4) end return ugsub(msg, '$([1-9][0-9]*)', getMessageVal) end p.message = message local function makeWikilink(page, display) if display then return format('[[%s|%s]]', page, display) else return format('[[%s]]', page) end end p.makeWikilink = makeWikilink local function makeCategoryLink(cat, sort) local catns = mw.site.namespaces[14].name return makeWikilink(catns .. ':' .. cat, sort) end p.makeCategoryLink = makeCategoryLink local function makeUrlLink(url, display) return format('[%s %s]', url, display) end p.makeUrlLink = makeUrlLink local function makeToolbar(...) local ret = {} local lim = select('#', ...) if lim < 1 then return nil end for i = 1, lim do ret[#ret + 1] = select(i, ...) end -- 'documentation-toolbar' return format( '<span class="%s">(%s)</span>', message('toolbar-class'), table.concat(ret, ' &#124; ') ) end p.makeToolbar = makeToolbar ---------------------------------------------------------------------------- -- Argument processing ---------------------------------------------------------------------------- local function makeInvokeFunc(funcName) return function (frame) local args = getArgs(frame, { valueFunc = function (key, value) if type(value) == 'string' then value = value:match('^%s*(.-)%s*$') -- Remove whitespace. if key == 'heading' or value ~= '' then return value else return nil end else return value end end }) return p[funcName](args) end end ---------------------------------------------------------------------------- -- Entry points ---------------------------------------------------------------------------- function p.nonexistent(frame) if mw.title.getCurrentTitle().subpageText == 'testcases' then return frame:expandTemplate{title = 'module test cases notice'} else return p.main(frame) end end p.main = makeInvokeFunc('_main') function p._main(args) --[[ -- This function defines logic flow for the module. -- @args - table of arguments passed by the user --]] local env = p.getEnvironment(args) local root = mw.html.create() root :wikitext(p._getModuleWikitext(args, env)) :wikitext(p.protectionTemplate(env)) :wikitext(p.sandboxNotice(args, env)) :tag('div') -- 'documentation-container' :addClass(message('container')) :attr('role', 'complementary') :attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil) :attr('aria-label', args.heading == '' and 'Documentation' or nil) :newline() :tag('div') -- 'documentation' :addClass(message('main-div-classes')) :newline() :wikitext(p._startBox(args, env)) :wikitext(p._content(args, env)) :tag('div') -- 'documentation-clear' :addClass(message('clear')) :done() :newline() :done() :wikitext(p._endBox(args, env)) :done() :wikitext(p.addTrackingCategories(env)) -- 'Module:Documentation/styles.css' return mw.getCurrentFrame():extensionTag ( 'templatestyles', '', {src=cfg['templatestyles'] }) .. tostring(root) end ---------------------------------------------------------------------------- -- Environment settings ---------------------------------------------------------------------------- function p.getEnvironment(args) --[[ -- Returns a table with information about the environment, including title -- objects and other namespace- or path-related data. -- @args - table of arguments passed by the user -- -- Title objects include: -- env.title - the page we are making documentation for (usually the current title) -- env.templateTitle - the template (or module, file, etc.) -- env.docTitle - the /doc subpage. -- env.sandboxTitle - the /sandbox subpage. -- env.testcasesTitle - the /testcases subpage. -- -- Data includes: -- env.protectionLevels - the protection levels table of the title object. -- env.subjectSpace - the number of the title's subject namespace. -- env.docSpace - the number of the namespace the title puts its documentation in. -- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace. -- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template. -- -- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value -- returned will be nil. --]] local env, envFuncs = {}, {} -- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value -- returned by that function is memoized in the env table so that we don't call any of the functions -- more than once. (Nils won't be memoized.) setmetatable(env, { __index = function (t, key) local envFunc = envFuncs[key] if envFunc then local success, val = pcall(envFunc) if success then env[key] = val -- Memoise the value. return val end end return nil end }) function envFuncs.title() -- The title object for the current page, or a test page passed with args.page. local title local titleArg = args.page if titleArg then title = mw.title.new(titleArg) else title = mw.title.getCurrentTitle() end return title end function envFuncs.templateTitle() --[[ -- The template (or module, etc.) title object. -- Messages: -- 'sandbox-subpage' --> 'sandbox' -- 'testcases-subpage' --> 'testcases' --]] local subjectSpace = env.subjectSpace local title = env.title local subpage = title.subpageText if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then return mw.title.makeTitle(subjectSpace, title.baseText) else return mw.title.makeTitle(subjectSpace, title.text) end end function envFuncs.docTitle() --[[ -- Title object of the /doc subpage. -- Messages: -- 'doc-subpage' --> 'doc' --]] local title = env.title local docname = args[1] -- User-specified doc page. local docpage if docname then docpage = docname else docpage = env.docpageBase .. '/' .. message('doc-subpage') end return mw.title.new(docpage) end function envFuncs.sandboxTitle() --[[ -- Title object for the /sandbox subpage. -- Messages: -- 'sandbox-subpage' --> 'sandbox' --]] return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage')) end function envFuncs.testcasesTitle() --[[ -- Title object for the /testcases subpage. -- Messages: -- 'testcases-subpage' --> 'testcases' --]] return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage')) end function envFuncs.protectionLevels() -- The protection levels table of the title object. return env.title.protectionLevels end function envFuncs.subjectSpace() -- The subject namespace number. return mw.site.namespaces[env.title.namespace].subject.id end function envFuncs.docSpace() -- The documentation namespace number. For most namespaces this is the -- same as the subject namespace. However, pages in the Article, File, -- MediaWiki or Category namespaces must have their /doc, /sandbox and -- /testcases pages in talk space. local subjectSpace = env.subjectSpace if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then return subjectSpace + 1 else return subjectSpace end end function envFuncs.docpageBase() -- The base page of the /doc, /sandbox, and /testcases subpages. -- For some namespaces this is the talk page, rather than the template page. local templateTitle = env.templateTitle local docSpace = env.docSpace local docSpaceText = mw.site.namespaces[docSpace].name -- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon. return docSpaceText .. ':' .. templateTitle.text end function envFuncs.compareUrl() -- Diff link between the sandbox and the main template using [[Special:ComparePages]]. local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle if templateTitle.exists and sandboxTitle.exists then local compareUrl = mw.uri.canonicalUrl( 'Special:ComparePages', { page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} ) return tostring(compareUrl) else return nil end end return env end ---------------------------------------------------------------------------- -- Auxiliary templates ---------------------------------------------------------------------------- p.getModuleWikitext = makeInvokeFunc('_getModuleWikitext') function p._getModuleWikitext(args, env) local currentTitle = mw.title.getCurrentTitle() if currentTitle.contentModel ~= 'Scribunto' then return end pcall(require, currentTitle.prefixedText) -- if it fails, we don't care local moduleWikitext = package.loaded["Module:Module wikitext"] if moduleWikitext then return moduleWikitext.main() end end function p.sandboxNotice(args, env) --[=[ -- Generates a sandbox notice for display above sandbox pages. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-notice-image' --> '[[File:Sandbox.svg|50px|alt=|link=]]' -- 'sandbox-notice-blurb' --> 'This is the $1 for $2.' -- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).' -- 'sandbox-notice-pagetype-template' --> '[[Wikipedia:Template test cases|template sandbox]] page' -- 'sandbox-notice-pagetype-module' --> '[[Wikipedia:Template test cases|module sandbox]] page' -- 'sandbox-notice-pagetype-other' --> 'sandbox page' -- 'sandbox-notice-compare-link-display' --> 'diff' -- 'sandbox-notice-testcases-blurb' --> 'See also the companion subpage for $1.' -- 'sandbox-notice-testcases-link-display' --> 'test cases' -- 'sandbox-category' --> 'Template sandboxes' --]=] local title = env.title local sandboxTitle = env.sandboxTitle local templateTitle = env.templateTitle local subjectSpace = env.subjectSpace if not (subjectSpace and title and sandboxTitle and templateTitle and mw.title.equals(title, sandboxTitle)) then return nil end -- Build the table of arguments to pass to {{ombox}}. We need just two fields, "image" and "text". local omargs = {} omargs.image = message('sandbox-notice-image') -- Get the text. We start with the opening blurb, which is something like -- "This is the template sandbox for [[Template:Foo]] (diff)." local text = '' local pagetype if subjectSpace == 10 then pagetype = message('sandbox-notice-pagetype-template') elseif subjectSpace == 828 then pagetype = message('sandbox-notice-pagetype-module') else pagetype = message('sandbox-notice-pagetype-other') end local templateLink = makeWikilink(templateTitle.prefixedText) local compareUrl = env.compareUrl if compareUrl then local compareDisplay = message('sandbox-notice-compare-link-display') local compareLink = makeUrlLink(compareUrl, compareDisplay) text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink}) else text = text .. message('sandbox-notice-blurb', {pagetype, templateLink}) end -- Get the test cases page blurb if the page exists. This is something like -- "See also the companion subpage for [[Template:Foo/testcases|test cases]]." local testcasesTitle = env.testcasesTitle if testcasesTitle and testcasesTitle.exists then if testcasesTitle.contentModel == "Scribunto" then local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-run-blurb', {testcasesLink, testcasesRunLink}) else local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink}) end end -- Add the sandbox to the sandbox category. omargs.text = text .. makeCategoryLink(message('sandbox-category')) -- 'documentation-clear' return '<div class="' .. message('clear') .. '"></div>' .. require('Module:Message box').main('ombox', omargs) end function p.protectionTemplate(env) -- Generates the padlock icon in the top right. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'protection-template' --> 'pp-template' -- 'protection-template-args' --> {docusage = 'yes'} local protectionLevels = env.protectionLevels if not protectionLevels then return nil end local editProt = protectionLevels.edit and protectionLevels.edit[1] local moveProt = protectionLevels.move and protectionLevels.move[1] if editProt then -- The page is edit-protected. return require('Module:Protection banner')._main{ message('protection-reason-edit'), small = true } elseif moveProt and moveProt ~= 'autoconfirmed' then -- The page is move-protected but not edit-protected. Exclude move -- protection with the level "autoconfirmed", as this is equivalent to -- no move protection at all. return require('Module:Protection banner')._main{ action = 'move', small = true } else return nil end end ---------------------------------------------------------------------------- -- Start box ---------------------------------------------------------------------------- p.startBox = makeInvokeFunc('_startBox') function p._startBox(args, env) --[[ -- This function generates the start box. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make -- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox -- which generate the box HTML. --]] env = env or p.getEnvironment(args) local links local content = args.content if not content or args[1] then -- No need to include the links if the documentation is on the template page itself. local linksData = p.makeStartBoxLinksData(args, env) if linksData then links = p.renderStartBoxLinks(linksData) end end -- Generate the start box html. local data = p.makeStartBoxData(args, env, links) if data then return p.renderStartBox(data) else -- User specified no heading. return nil end end function p.makeStartBoxLinksData(args, env) --[[ -- Does initial processing of data to make the [view] [edit] [history] [purge] links. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'view-link-display' --> 'view' -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'purge-link-display' --> 'purge' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'docpage-preload' --> 'Template:Documentation/preload' -- 'create-link-display' --> 'create' --]] local subjectSpace = env.subjectSpace local title = env.title local docTitle = env.docTitle if not title or not docTitle then return nil end if docTitle.isRedirect then docTitle = docTitle.redirectTarget end -- Create link if /doc doesn't exist. local preload = args.preload if not preload then if subjectSpace == 828 then -- Module namespace preload = message('module-preload') else preload = message('docpage-preload') end end return { title = title, docTitle = docTitle, -- View, display, edit, and purge links if /doc exists. viewLinkDisplay = message('view-link-display'), editLinkDisplay = message('edit-link-display'), historyLinkDisplay = message('history-link-display'), purgeLinkDisplay = message('purge-link-display'), preload = preload, createLinkDisplay = message('create-link-display') } end function p.renderStartBoxLinks(data) --[[ -- Generates the [view][edit][history][purge] or [create][purge] links from the data table. -- @data - a table of data generated by p.makeStartBoxLinksData --]] local docTitle = data.docTitle -- yes, we do intend to purge the template page on which the documentation appears local purgeLink = makeWikilink("Special:Purge/" .. data.title.prefixedText, data.purgeLinkDisplay) if docTitle.exists then local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, data.editLinkDisplay) local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, data.historyLinkDisplay) return "&#91;" .. viewLink .. "&#93; &#91;" .. editLink .. "&#93; &#91;" .. historyLink .. "&#93; &#91;" .. purgeLink .. "&#93;" else local createLink = makeUrlLink(docTitle:canonicalUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) return "&#91;" .. createLink .. "&#93; &#91;" .. purgeLink .. "&#93;" end return ret end function p.makeStartBoxData(args, env, links) --[=[ -- Does initial processing of data to pass to the start-box render function, p.renderStartBox. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error. -- -- Messages: -- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- 'template-namespace-heading' --> 'Template documentation' -- 'module-namespace-heading' --> 'Module documentation' -- 'file-namespace-heading' --> 'Summary' -- 'other-namespaces-heading' --> 'Documentation' -- 'testcases-create-link-display' --> 'create' --]=] local subjectSpace = env.subjectSpace if not subjectSpace then -- Default to an "other namespaces" namespace, so that we get at least some output -- if an error occurs. subjectSpace = 2 end local data = {} -- Heading local heading = args.heading -- Blank values are not removed. if heading == '' then -- Don't display the start box if the heading arg is defined but blank. return nil end if heading then data.heading = heading elseif subjectSpace == 10 then -- Template namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading') elseif subjectSpace == 828 then -- Module namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading') elseif subjectSpace == 6 then -- File namespace data.heading = message('file-namespace-heading') else data.heading = message('other-namespaces-heading') end -- Heading CSS local headingStyle = args['heading-style'] if headingStyle then data.headingStyleText = headingStyle else -- 'documentation-heading' data.headingClass = message('main-div-heading-class') end -- Data for the [view][edit][history][purge] or [create] links. if links then -- 'mw-editsection-like plainlinks' data.linksClass = message('start-box-link-classes') data.links = links end return data end function p.renderStartBox(data) -- Renders the start box html. -- @data - a table of data generated by p.makeStartBoxData. local sbox = mw.html.create('div') sbox -- 'documentation-startbox' :addClass(message('start-box-class')) :newline() :tag('span') :addClass(data.headingClass) :attr('id', 'documentation-heading') :cssText(data.headingStyleText) :wikitext(data.heading) local links = data.links if links then sbox:tag('span') :addClass(data.linksClass) :attr('id', data.linksId) :wikitext(links) end return tostring(sbox) end ---------------------------------------------------------------------------- -- Documentation content ---------------------------------------------------------------------------- p.content = makeInvokeFunc('_content') function p._content(args, env) -- Displays the documentation contents -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment env = env or p.getEnvironment(args) local docTitle = env.docTitle local content = args.content if not content and docTitle and docTitle.exists then content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText} end -- The line breaks below are necessary so that "=== Headings ===" at the start and end -- of docs are interpreted correctly. return '\n' .. (content or '') .. '\n' end p.contentTitle = makeInvokeFunc('_contentTitle') function p._contentTitle(args, env) env = env or p.getEnvironment(args) local docTitle = env.docTitle if not args.content and docTitle and docTitle.exists then return docTitle.prefixedText else return '' end end ---------------------------------------------------------------------------- -- End box ---------------------------------------------------------------------------- p.endBox = makeInvokeFunc('_endBox') function p._endBox(args, env) --[=[ -- This function generates the end box (also known as the link box). -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- --]=] -- Get environment data. env = env or p.getEnvironment(args) local subjectSpace = env.subjectSpace local docTitle = env.docTitle if not subjectSpace or not docTitle then return nil end -- Check whether we should output the end box at all. Add the end -- box by default if the documentation exists or if we are in the -- user, module or template namespaces. local linkBox = args['link box'] if linkBox == 'off' or not ( docTitle.exists or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10 ) then return nil end -- Assemble the link box. local text = '' if linkBox then text = text .. linkBox else text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]." if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then -- We are in the user, template or module namespaces. -- Add sandbox and testcases links. -- "Editors can experiment in this template's sandbox and testcases pages." text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />' if not args.content and not args[1] then -- "Please add categories to the /doc subpage." -- Don't show this message with inline docs or with an explicitly specified doc page, -- as then it is unclear where to add the categories. text = text .. (p.makeCategoriesBlurb(args, env) or '') end text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template" end end local box = mw.html.create('div') -- 'documentation-metadata' box:attr('role', 'note') :addClass(message('end-box-class')) -- 'plainlinks' :addClass(message('end-box-plainlinks')) :wikitext(text) :done() return '\n' .. tostring(box) end function p.makeDocPageBlurb(args, env) --[=[ -- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)". -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'transcluded-from-blurb' --> -- 'The above [[Wikipedia:Template documentation|documentation]] -- is [[Help:Transclusion|transcluded]] from $1.' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'create-link-display' --> 'create' -- 'create-module-doc-blurb' --> -- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' --]=] local docTitle = env.docTitle if not docTitle then return nil end local ret if docTitle.exists then -- /doc exists; link to it. local docLink = makeWikilink(docTitle.prefixedText) local editDisplay = message('edit-link-display') local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, editDisplay) local historyDisplay = message('history-link-display') local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, historyDisplay) ret = message('transcluded-from-blurb', {docLink}) .. ' ' .. makeToolbar(editLink, historyLink) .. '<br />' elseif env.subjectSpace == 828 then -- /doc does not exist; ask to create it. local createUrl = docTitle:canonicalUrl{action = 'edit', preload = message('module-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) ret = message('create-module-doc-blurb', {createLink}) .. '<br />' end return ret end function p.makeExperimentBlurb(args, env) --[[ -- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-link-display' --> 'sandbox' -- 'sandbox-edit-link-display' --> 'edit' -- 'compare-link-display' --> 'diff' -- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'sandbox-create-link-display' --> 'create' -- 'mirror-edit-summary' --> 'Create sandbox version of $1' -- 'mirror-link-display' --> 'mirror' -- 'mirror-link-preload' --> 'Template:Documentation/mirror' -- 'sandbox-link-display' --> 'sandbox' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display'--> 'edit' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'testcases-create-link-display' --> 'create' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display' --> 'edit' -- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases' -- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases' -- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.' -- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle local testcasesTitle = env.testcasesTitle local templatePage = templateTitle.prefixedText if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then return nil end -- Make links. local sandboxLinks, testcasesLinks if sandboxTitle.exists then local sandboxPage = sandboxTitle.prefixedText local sandboxDisplay = message('sandbox-link-display') local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) local sandboxEditDisplay = message('sandbox-edit-link-display') local sandboxEditLink = makeWikilink("Special:EditPage/" .. sandboxPage, sandboxEditDisplay) local compareUrl = env.compareUrl local compareLink if compareUrl then local compareDisplay = message('compare-link-display') compareLink = makeUrlLink(compareUrl, compareDisplay) end sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) else local sandboxPreload if subjectSpace == 828 then sandboxPreload = message('module-sandbox-preload') else sandboxPreload = message('template-sandbox-preload') end local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = sandboxPreload} local sandboxCreateDisplay = message('sandbox-create-link-display') local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) local mirrorPreload = message('mirror-link-preload') local mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} if subjectSpace == 828 then mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary} end local mirrorDisplay = message('mirror-link-display') local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) end if testcasesTitle.exists then local testcasesPage = testcasesTitle.prefixedText local testcasesDisplay = message('testcases-link-display') local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) local testcasesEditUrl = testcasesTitle:canonicalUrl{action = 'edit'} local testcasesEditDisplay = message('testcases-edit-link-display') local testcasesEditLink = makeWikilink("Special:EditPage/" .. testcasesPage, testcasesEditDisplay) -- for Modules, add testcases run link if exists if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then local testcasesRunLinkDisplay = message('testcases-run-link-display') local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink) else testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) end else local testcasesPreload if subjectSpace == 828 then testcasesPreload = message('module-testcases-preload') else testcasesPreload = message('template-testcases-preload') end local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = 'edit', preload = testcasesPreload} local testcasesCreateDisplay = message('testcases-create-link-display') local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink) end local messageName if subjectSpace == 828 then messageName = 'experiment-blurb-module' else messageName = 'experiment-blurb-template' end return message(messageName, {sandboxLinks, testcasesLinks}) end function p.makeCategoriesBlurb(args, env) --[[ -- Generates the text "Please add categories to the /doc subpage." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'doc-link-display' --> '/doc' -- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.' --]] local docTitle = env.docTitle if not docTitle then return nil end local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display')) return message('add-categories-blurb', {docPathLink}) end function p.makeSubpagesBlurb(args, env) --[[ -- Generates the "Subpages of this template" link. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'template-pagetype' --> 'template' -- 'module-pagetype' --> 'module' -- 'default-pagetype' --> 'page' -- 'subpages-link-display' --> 'Subpages of this $1' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle if not subjectSpace or not templateTitle then return nil end local pagetype if subjectSpace == 10 then pagetype = message('template-pagetype') elseif subjectSpace == 828 then pagetype = message('module-pagetype') else pagetype = message('default-pagetype') end local subpagesLink = makeWikilink( 'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', message('subpages-link-display', {pagetype}) ) return message('subpages-blurb', {subpagesLink}) end ---------------------------------------------------------------------------- -- Tracking categories ---------------------------------------------------------------------------- function p.addTrackingCategories(env) --[[ -- Check if {{documentation}} is transcluded on a /doc or /testcases page. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'display-strange-usage-category' --> true -- 'doc-subpage' --> 'doc' -- 'testcases-subpage' --> 'testcases' -- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage' -- -- /testcases pages in the module namespace are not categorised, as they may have -- {{documentation}} transcluded automatically. --]] local title = env.title local subjectSpace = env.subjectSpace if not title or not subjectSpace then return nil end local subpage = title.subpageText local ret = '' if message('display-strange-usage-category', nil, 'boolean') and ( subpage == message('doc-subpage') or subjectSpace ~= 828 and subpage == message('testcases-subpage') ) then ret = ret .. makeCategoryLink(message('strange-usage-category')) end return ret end return p 268dc89480af10873bfbca5439ae8e61b404f770 Module:Documentation/config 828 24 44 2023-11-30T20:54:25Z whentheycrywiki>Kinzo 0 1 revision imported from [[:mw:Module:Documentation/config]]: w Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[File:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = '[[Wikipedia:Template test cases|template sandbox]] page' cfg['sandbox-notice-pagetype-module'] = '[[Wikipedia:Template test cases|module sandbox]] page' cfg['sandbox-notice-pagetype-other'] = 'sandbox page' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'This is the $1 for $2.' cfg['sandbox-notice-diff-blurb'] = 'This is the $1 for $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'diff' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'See also the companion subpage for $1.' cfg['sandbox-notice-testcases-link-display'] = 'test cases' cfg['sandbox-notice-testcases-run-blurb'] = 'See also the companion subpage for $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'run' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Template sandboxes' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Template documentation' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Module documentation' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Summary' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documentation' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'view' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edit' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'history' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purge' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'The above [[Wikipedia:Template documentation|documentation]] is [[Help:Transclusion|transcluded]] from $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages." cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'sandbox' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'sandbox' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edit' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'create' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'diff' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Create sandbox version of $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirror' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/mirror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'testcases' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'testcases' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edit' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'run' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Add categories to the $1 subpage.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Subpages of this $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'template' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'module' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'page' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- -- cfg['templatestyles'] -- The name of the TemplateStyles page where CSS is kept. -- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed. cfg['templatestyles'] = 'Module:Documentation/styles.css' -- cfg['container'] -- Class which can be used to set flex or grid CSS on the -- two child divs documentation and documentation-metadata cfg['container'] = 'documentation-container' -- cfg['main-div-classes'] -- Classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'documentation' -- cfg['main-div-heading-class'] -- Class for the main heading for templates and modules and assoc. talk spaces cfg['main-div-heading-class'] = 'documentation-heading' -- cfg['start-box-class'] -- Class for the start box cfg['start-box-class'] = 'documentation-startbox' -- cfg['start-box-link-classes'] -- Classes used for the [view][edit][history] or [create] links in the start box. -- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]] cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks' -- cfg['end-box-class'] -- Class for the end box. cfg['end-box-class'] = 'documentation-metadata' -- cfg['end-box-plainlinks'] -- Plainlinks cfg['end-box-plainlinks'] = 'plainlinks' -- cfg['toolbar-class'] -- Class added for toolbar links. cfg['toolbar-class'] = 'documentation-toolbar' -- cfg['clear'] -- Just used to clear things. cfg['clear'] = 'documentation-clear' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg 71b68ed73088f1a59d61acf06bbee9fde6677f03 Module:Documentation/styles.css 828 25 46 2023-11-30T20:54:27Z whentheycrywiki>Kinzo 0 1 revision imported from [[:mw:Module:Documentation/styles.css]]: w text text/plain /* {{pp|small=yes}} */ .documentation, .documentation-metadata { border: 1px solid #a2a9b1; background-color: #ecfcf4; clear: both; } .documentation { margin: 1em 0 0 0; padding: 1em; } .documentation-metadata { margin: 0.2em 0; /* same margin left-right as .documentation */ font-style: italic; padding: 0.4em 1em; /* same padding left-right as .documentation */ } .documentation-startbox { padding-bottom: 3px; border-bottom: 1px solid #aaa; margin-bottom: 1ex; } .documentation-heading { font-weight: bold; font-size: 125%; } .documentation-clear { /* Don't want things to stick out where they shouldn't. */ clear: both; } .documentation-toolbar { font-style: normal; font-size: 85%; } ce0e629c92e3d825ab9fd927fe6cc37d9117b6cb Main Page 0 1 1 2023-12-12T22:08:10Z MediaWiki default 1 Create main page wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This Main Page was created automatically and it seems it hasn't been replaced yet. === For the bureaucrat(s) of this wiki === Hello, and welcome to your new wiki! Thank you for choosing Miraheze for the hosting of your wiki, we hope you will enjoy our hosting. You can immediately start working on your wiki or whenever you want. Need help? No problem! We will help you with your wiki as needed. To start, try checking out these helpful links: * [[mw:Special:MyLanguage/Help:Contents|MediaWiki guide]] (e.g. navigation, editing, deleting pages, blocking users) * [[meta:Special:MyLanguage/FAQ|Miraheze FAQ]] * [[meta:Special:MyLanguage/Request features|Request settings changes on your wiki]]. (Extensions, Skin and Logo/Favicon changes should be done through [[Special:ManageWiki]] on your wiki, see [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] for more information.) ==== I still don't understand X! ==== Well, that's no problem. Even if something isn't explained in the documentation/FAQ, we are still happy to help you. You can find us here: * [[meta:Special:MyLanguage/Help center|On our own Miraheze wiki]] * On [[phab:|Phabricator]] * On [https://miraheze.org/discord Discord] * On IRC in #miraheze on irc.libera.chat ([irc://irc.libera.chat/%23miraheze direct link]; [https://web.libera.chat/?channel=#miraheze webchat]) === For visitors of this wiki === Hello, the default Main Page of this wiki (this page) has not yet been replaced by the bureaucrat(s) of this wiki. The bureaucrat(s) might still be working on a Main Page, so please check again later! 21236ac3f8d65e5563b6da6b70815ca6bf1e6616 12 1 2023-12-13T04:26:42Z Systemzero 2 wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere The Flower That Bloomed Nowhere], a webnovel by Lurina.<br> This wiki contains [[Special:Statistics|{{NUMBEROFARTICLES}}]] [[Special:AllPages|articles]]. 3b4c6f06f4061797de915f0a8d1c9ca27746ffb5 Iron 0 2 2 2023-12-13T02:03:52Z Systemzero 2 Created page with "'''Iron''' is a substance that with few exceptions, does not exist within the [[Remaining World]]." wikitext text/x-wiki '''Iron''' is a substance that with few exceptions, does not exist within the [[Remaining World]]. ffb34b15846a5d8deee6155665c4d8889fa0c185 4 2 2023-12-13T03:32:21Z Systemzero 2 wikitext text/x-wiki '''Iron''' is a substance that does not exist within the [[Remaining World]] except within the human body. == Properties == When properly pressured and charged, iron has the ability influence and transcend other planes.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/575766/026-in-fading-image 026: In Fading Image (𒐁)]</ref> == History == Humans first began to use iron at the beginning of the [[New Kingdoms]] era. After the [[Collapse|collapse]], the [[Ironworkers]] were able to create a [[Tower of Asphodel|cross-planar edifice of iron]] that exists independently of four-dimensional reality. This edifice became the substrate for the planes of the [[Remaining World]]. As a consequence, true iron cannot exist outside of this edifice. Since human beings contain iron, the Ironworkers decided to use replicas of preserved bodies within the Tower of Asphodel in order for conventional human bodies to continue to exist. The limited number of bodies preserved is the cause of [[Contact Paradox|contact paradoxes]]. == False iron == Most of iron's uses are substituted with simulated false iron, taken from the Tower of Asphodel as it exists in mundane reality. All false iron is temporarily transformed into true iron so long as it stays within the human body.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/648360/038-profane-ambition 038: Profane Ambition (𒐅)]</ref> If it leaves the body, it will revert to false iron. By acting as a conduit to the Tower of Asphodel, individuals can train themselves to send their neural impulses through tower. This makes [[Logic Bridge|logic bridge]] communication possible. ==References== {{reflist}} 075bf70019fcbed36692b32372a5dcd884e5ebd5 5 4 2023-12-13T03:34:08Z Systemzero 2 wikitext text/x-wiki '''Iron''' is a substance that does not exist within the [[Remaining World]] except within the human body. == Properties == When properly pressured and charged, iron has the ability to influence and transcend other planes.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/575766/026-in-fading-image 026: In Fading Image (𒐁)]</ref> == History == Humans first began to use iron at the beginning of the [[New Kingdoms]] era. After the [[Collapse|collapse]], the [[Ironworkers]] were able to create a [[Tower of Asphodel|cross-planar edifice of iron]] that exists independently of four-dimensional reality. This edifice became the substrate for the planes of the [[Remaining World]]. As a consequence, true iron cannot exist outside of this edifice. Since human beings contain iron, the Ironworkers decided to use replicas of preserved bodies within the Tower of Asphodel in order for conventional human bodies to continue to exist. The limited number of bodies preserved is the cause of [[Contact Paradox|contact paradoxes]]. == False iron == Most of iron's uses are substituted with simulated false iron, taken from the Tower of Asphodel as it exists in mundane reality. All false iron is temporarily transformed into true iron so long as it stays within the human body.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/648360/038-profane-ambition 038: Profane Ambition (𒐅)]</ref> If it leaves the body, it will revert to false iron. By acting as a conduit to the Tower of Asphodel, individuals can train themselves to send their neural impulses through tower. This makes [[Logic Bridge|logic bridge]] communication possible. ==References== {{reflist}} c2dd126471b7df4bd88faa4146a34cb915386f0b Tower of Asphodel 0 3 3 2023-12-13T02:15:04Z Systemzero 2 Created page with "The Tower of Asphodel is a structure created by the [[Ironworkers]] as a substrate for the [[Remaining World]]." wikitext text/x-wiki The Tower of Asphodel is a structure created by the [[Ironworkers]] as a substrate for the [[Remaining World]]. 87e041f8f3047d5aced3aaebf7041604fe37e486 Logic Bridge 0 4 6 2023-12-13T03:36:19Z Systemzero 2 Created page with "An interfacing tool used to connect the human mind to either other minds or objects via exercising the iron of the pneumaic nexus, and its connection to the Tower of Asphodel. In its most basic form, it consists of a piece of False [[Iron]], a switch, and two polarized magnets. Can be used directly to facilitate awkward pseudo-telepathy, but a logic engine is required for translating more complex concepts.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloo..." wikitext text/x-wiki An interfacing tool used to connect the human mind to either other minds or objects via exercising the iron of the pneumaic nexus, and its connection to the Tower of Asphodel. In its most basic form, it consists of a piece of False [[Iron]], a switch, and two polarized magnets. Can be used directly to facilitate awkward pseudo-telepathy, but a logic engine is required for translating more complex concepts.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary Glossary]</ref> ==References== {{reflist}} 6098b2c3da80ba9681368f54f0ce5da02930939d 7 6 2023-12-13T03:37:31Z Systemzero 2 wikitext text/x-wiki An interfacing tool used to connect the human mind to either other minds or objects via exercising the [[Iron|iron]] of the [[pneumaic nexus]], and its connection to the [[Tower of Asphodel]]. In its most basic form, it consists of a piece of False Iron, a switch, and two polarized magnets. Can be used directly to facilitate awkward pseudo-telepathy, but a [[logic engine]] is required for translating more complex concepts.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary Glossary]</ref> ==References== {{reflist}} 5390dfb557346824587092f9bfb44d23ad1b2996 8 7 2023-12-13T03:38:13Z Systemzero 2 wikitext text/x-wiki A '''logic bridge''' is an interfacing tool used to connect the human mind to either other minds or objects via exercising the [[Iron|iron]] of the [[pneumaic nexus]], and its connection to the [[Tower of Asphodel]]. In its most basic form, it consists of a piece of False Iron, a switch, and two polarized magnets. Can be used directly to facilitate awkward pseudo-telepathy, but a [[logic engine]] is required for translating more complex concepts.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary Glossary]</ref> ==References== {{reflist}} 0edbd57218bf4caa41341d273e8e4bcf23c7c58a 9 8 2023-12-13T03:39:21Z Systemzero 2 wikitext text/x-wiki A '''logic bridge''' is an interfacing tool used to connect the human mind to either other minds or objects via exercising the [[Iron|iron]] of the [[pneumaic nexus]], and its connection to the [[Tower of Asphodel]]. In its most basic form, it consists of a piece of False Iron, a switch, and two polarized magnets. Can be used directly to facilitate awkward pseudo-telepathy, but a [[Logic Engine|logic engine]] is required for translating more complex concepts.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary Glossary]</ref> ==References== {{reflist}} f72caa5e518f0b658480d3bbc7c6354554393781 Logic Engine 0 5 10 2023-12-13T03:44:03Z Systemzero 2 Created page with "A '''logic engine''' is a machine used to perform reasoning.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary Glossary]</ref> Most, but not all, interface with humans via [[Logic Bridge|logic bridges]]. Though logic engines can take many forms, the most common is the oscillatory logic engine, which utilizes microvibrations and extremely delicate machinery to store and process information, along with hydraulic power both..." wikitext text/x-wiki A '''logic engine''' is a machine used to perform reasoning.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary Glossary]</ref> Most, but not all, interface with humans via [[Logic Bridge|logic bridges]]. Though logic engines can take many forms, the most common is the oscillatory logic engine, which utilizes microvibrations and extremely delicate machinery to store and process information, along with hydraulic power both to maintain its core tone and physically operate. Though much slower than minds and the [[Iron|iron]]-based logic engines of old, they are capable of incredible feats of parallel processing, rendering them able to perform mathematics and analysis beyond the scope of human ability. === Echo Maze === Properly called an Echo Labyrinth. A cube which stores information in its incredibly fine internal indentures. When sound passes through it, a logic engine can process the output as extremely specific information. The most common form of data storage in the present day by far. ==References== {{reflist}} 58a3036b80f591106b2ed13b6510959d50fc5f67 Collapse 0 6 11 2023-12-13T03:50:34Z Systemzero 2 Created page with "Shorthand for 'false vacuum collapse', a phenomenon of astrophysics where a lower minimum of energy in the vacuum is suddenly achieved, causing destabilization at a subatomic level which spreads at the speed of light until equilibrium is once again reached.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary Glossary]</ref> Sometimes called 'decay' instead. Such an event was largely responsible for ending the Imperial Er..." wikitext text/x-wiki Shorthand for 'false vacuum collapse', a phenomenon of astrophysics where a lower minimum of energy in the vacuum is suddenly achieved, causing destabilization at a subatomic level which spreads at the speed of light until equilibrium is once again reached.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary Glossary]</ref> Sometimes called 'decay' instead. Such an event was largely responsible for ending the [[Imperial Era]] and almost destroying human civilization, though there were also socioeconomic factors which radically impeded the response. ==References== {{reflist}} 7b87468a8cdf60a181c1ed585d4befe6824c3a18 MediaWiki:Sidebar 8 7 13 2023-12-13T05:05:05Z Systemzero 2 Created page with " * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage * The Flower That Bloomed Nowhere ** Characters ** Glossary * SEARCH * TOOLBOX * LANGUAGES" wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage * The Flower That Bloomed Nowhere ** Characters ** Glossary * SEARCH * TOOLBOX * LANGUAGES 2c642095997e127a3822e84b2a046614a0b08013 15 13 2023-12-13T05:36:10Z Systemzero 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage * The Flower That Bloomed Nowhere ** List of characters in The Flower That Bloomed Nowhere|Characters ** Glossary * SEARCH * TOOLBOX * LANGUAGES 611f047b1b3f6fb9e9b1ef0c80841da94e51d825 17 15 2023-12-13T05:45:17Z Systemzero 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage * The Flower That Bloomed Nowhere ** List of characters in The Flower That Bloomed Nowhere|Characters ** Glossary|Glossary * SEARCH * TOOLBOX * LANGUAGES 3e48389b9a097c9640f3b295eebd61da47a2c67d List of characters in The Flower That Bloomed Nowhere 0 8 14 2023-12-13T05:32:04Z Systemzero 2 Created page with "== Exemplary Acolytes Class == * [[Utsushikome of Fusai]] * [[Ran of Hoa-Trinh]] * [[Kamrusepa of Tuon]] * [[Theodoros of Melanthos]] * [[Ptolema of Rheeds]] * [[Seth of Ikkuret]] * [[Ophelia of the Glass Fields]] * [[Lilith of Eskhalon]] * [[Bardiya of Tuon]] * [[Ezekiel of Ilaadbat]] * [[Jia Fang]] == Order of the Universal Panacea == * [[⬛️⬛️⬛️⬛️⬛️ of Fusai]] * [[Linos of Melanthos]] * [[Neferuaten of Amat]] * [[Durvasa of Wayal]] * Zeno of Apoc..." wikitext text/x-wiki == Exemplary Acolytes Class == * [[Utsushikome of Fusai]] * [[Ran of Hoa-Trinh]] * [[Kamrusepa of Tuon]] * [[Theodoros of Melanthos]] * [[Ptolema of Rheeds]] * [[Seth of Ikkuret]] * [[Ophelia of the Glass Fields]] * [[Lilith of Eskhalon]] * [[Bardiya of Tuon]] * [[Ezekiel of Ilaadbat]] * [[Jia Fang]] == Order of the Universal Panacea == * [[⬛️⬛️⬛️⬛️⬛️ of Fusai]] * [[Linos of Melanthos]] * [[Neferuaten of Amat]] * [[Durvasa of Wayal]] * [[Zeno of Apocyrion]] * [[Amtu-Heddu-Anna]] * [[Hamilcar of Kane]] * [[Sac'Nicte'Ic'Nal]] * [[Yantho'Ic'Thal]] == Guests == * [[Mehit of Eskhalon]] * [[Balthazar of Isan]] * [[Samium of Ur-Ysar]] b284b24b83bd61661902ef1aff6e15e4532f5ce5 18 14 2023-12-13T06:21:23Z Spinachstealer 4 wikitext text/x-wiki == Exemplary Acolytes Class == * [[Utsushikome of Fusai]] * [[Ran of Hoa-Trinh]] * [[Kamrusepa of Tuon]] * [[Theodoros of Melanthos]] * [[Ptolema of Rheeds]] * [[Seth of Ikkuret]] * [[Ophelia of the Glass Fields]] * [[Lilith of Eskhalon]] * [[Bardiya of Tuon]] * [[Ezekiel of Ilaadbat]] * [[Jia Fang]] == Order of the Universal Panacea == * [[Linos of Melanthos]] * [[Neferuaten of Amat]] * [[Durvasa of Wayal]] * [[Zeno of Apocyrion]] * [[Amtu-Heddu-Anna]] * [[Hamilcar of Kane]] * [[Sac'Nicte'Ic'Nal]] * [[Yantho'Ic'Thal]] * [[Vijana of Yamune]] == Guests == * [[Mehit of Eskhalon]] * [[Balthazar of Isan]] * [[Samium of Ur-Ysar]] == Non-attendees == * [[⬛️⬛️⬛️⬛️⬛️ of Fusai]] * [[Nindar of Inadu]] dbfd5f1358c96af8c857af94a0f9123cde0593eb 19 18 2023-12-13T06:29:59Z Spinachstealer 4 wikitext text/x-wiki == Exemplary Acolytes Class == * [[Utsushikome of Fusai]] * [[Ran of Hoa-Trinh]] * [[Kamrusepa of Tuon]] * [[Theodoros of Melanthos]] * [[Ptolema of Rheeds]] * [[Seth of Ikkuret]] * [[Ophelia of the Glass Fields]] * [[Lilith of Eskhalon]] * [[Bardiya of Tuon]] * [[Ezekiel of Ilaadbat]] * [[Jia Fang]] == Order of the Universal Panacea == * [[Linos of Melanthos]] * [[Neferuaten of Amat]] * [[Durvasa of Wayal]] * [[Zeno of Apocyrion]] * [[Amtu-Heddu-Anna]] * [[Hamilcar of Kane]] * [[Sac'Nicte'Ic'Nal]] * [[Yantho'Ic'Thal]] * [[Vijana of Yamune]] == Guests == * [[Mehit of Eskhalon]] * [[Balthazar of Isan]] * [[Samium of Ur-Ysar]] == Non-attendees == * [[⬛️⬛️⬛️⬛️⬛️ of Fusai]] * [[Nindar of Inadu]] * [[Jothi of Somrang]] 7fcf74303166ad006e80b40e9193d0fbd04016cf 20 19 2023-12-13T06:34:51Z Spinachstealer 4 /* Non-attendees */ wikitext text/x-wiki == Exemplary Acolytes Class == * [[Utsushikome of Fusai]] * [[Ran of Hoa-Trinh]] * [[Kamrusepa of Tuon]] * [[Theodoros of Melanthos]] * [[Ptolema of Rheeds]] * [[Seth of Ikkuret]] * [[Ophelia of the Glass Fields]] * [[Lilith of Eskhalon]] * [[Bardiya of Tuon]] * [[Ezekiel of Ilaadbat]] * [[Jia Fang]] == Order of the Universal Panacea == * [[Linos of Melanthos]] * [[Neferuaten of Amat]] * [[Durvasa of Wayal]] * [[Zeno of Apocyrion]] * [[Amtu-Heddu-Anna]] * [[Hamilcar of Kane]] * [[Sac'Nicte'Ic'Nal]] * [[Yantho'Ic'Thal]] * [[Vijana of Yamune]] == Guests == * [[Mehit of Eskhalon]] * [[Balthazar of Isan]] * [[Samium of Ur-Ysar]] == Non-attendees == * [[⬛️⬛️⬛️⬛️⬛️ of Fusai]] * [[Nindar of Inadu]] * [[Jothi of Somrang]] * [[Autonoe of Koranthia]] 4a41f616fde407ded7f659ccab66b3da8fc7086a Glossary 0 9 16 2023-12-13T05:44:30Z Systemzero 2 Created page with "''Thank you for reading. If you are struggling to keep up with some of the language used in this narrative, then this glossary may be of some assistance to you. Though certain terms will be excluded until they become pertinent for the purposes of dramatic tension, please note that this may spoil some light setting-related exposition which will be revealed later.'' ---- '''Arcana''': A power created as a tool by the Ironworkers to assist in rebuilding the world. Somet..." wikitext text/x-wiki ''Thank you for reading. If you are struggling to keep up with some of the language used in this narrative, then this glossary may be of some assistance to you. Though certain terms will be excluded until they become pertinent for the purposes of dramatic tension, please note that this may spoil some light setting-related exposition which will be revealed later.'' ---- '''Arcana''': A power created as a tool by the Ironworkers to assist in rebuilding the world. Sometimes referred to simply as the Power. Due to its complexity, practitioners (called 'arcanists') are separated into numerous disciplines, which are in turn divided into schools, though it should be noted that these categories are social constructs with no inherent value. The most pertinent: ///''Aetheromancy'': The study of utilizing arcana to manipulate space. ///''Alchemy'': The study of utilizing arcana to create novel elements and substances, traditionally in medicine. ///''Anima Scripting'': The study of utilizing arcana to manipulate the anima script, a biopolymer which determines the development of organisms. Because the subject of the discipline is proto-life rather than life outright, it is technically not a school of Biomancy, though this is the subject of some dispute within the academic community. ///''Biomancy'': The study of utilizing arcana to manipulate biology. ///''Chronomancy'': The study of utilizing arcana to manipulate time. ///''Divination'': The study of utilizing arcana to assess information and predict events. ///''Egomancy'': The study of utilizing arcana to alter the pneumaic nexus, the seat of human conciousness. Banned everywhere, save for the realms of the Uana. Archaically called Pneumancy. ///''Geomancy'': The study of utilizing arcana to manipulate earth, the landscape, and most broadly the climate. ///''Golemancy'': The study of utilizing arcana to create machines. ///''Metamancy'': The study of using the Power to manipulate itself. A precursor to Egomancy, which itself was a precursor to Neuromancy. ///''Neuromancy'': The study of utilizing arcana to manipulate the nervous system. Considered outside of Inotia and Ysara to be a mere school of Biomancy. ///''Pyromancy'': The study of utilizing arcana to create manipulate and generate energy directly, often for destructive purposes. ///''Radiamancy'': The study of using the Power to manipulate light. ///''Runescripting'': Not technically a discipline, though often treated as such. The study of engraving incantations, as runes, into various objects. ///''Thanatomancy'': The study of utilizing arcana to manipulate the process of death, or dead tissue. Archaically known as Necromancy. ///''Transmutation'': The study of utilizing arcana to change the nature of objects or matter. Most commonly used for replication. '''Artifice''': An object or machine that requires the Power to function; for example, an arcane light. Can also be employed as a verb ('artificed') to refer to things merely created by the Power but not dependent upon it, such as construction materials and life brought about by Biomancy. '''Assimilation Failure''': A rare side-effect of Induction with an unclear cause. Rather than discarding the memories stored within the affixed Pneuma, the mind instead fixates on or even centers them, beginning to transfer them to the conventional brain. In most cases, this has relatively minor effects, but occasionally can result in alterations to or even replacement of the sufferer's identity. The subject is taboo, with arcanists sworn to secrecy regarding it. ///''Acclimation Therapy'': A well-tested treatment program designed to minimize or even erase the effects of Assimilation Failure using a combination of medication, thought exercises, behavioral adjustments, and ultimately electrotherapy. Almost always successful to some extent if approached in good faith, though controversy exists regarding when it transitions to being little more than brainwashing. ///''Witch'': Slang term among arcanists for extreme sufferers of the condition, who fully conceive of themselves as people other than their original, physical selves. Almost all such individuals conceal this information, even from their loved ones. It's said to date from the Mourning Period, when the ailment was poorly understood. Newly-inducted arcanists appeared to simply go mad, using their new powers for wreak chaos and renouncing their former friends and family as if possessed by devils. '''Civil Dispute''': Often called the Ikkaryonic Revolution by the young. A civil conflict within the Grand Alliance that arose based on a decision by its Old Yru Convention to treat the Ikkaryon Provisional Government, who seized the city after the rulers horrifically mismanaged it during an outbreak of disease and subsequent famine, as a criminal enemy of the state and violators of the Covenant. It ultimately led to the most serious armed conflict in 200 years, involving most of the nations of the Elysian Pangaea, before finally being brought to the end by the Summer Compromise of 1388, which granted amnesty and concessions to the rebels and their allies. '''Collapse''': Shorthand for 'false vacuum collapse', a phenomenon of astrophysics where a lower minimum of energy in the vacuum is suddenly achieved, causing destabilization at a subatomic level which spreads at the speed of light until equilibrium is once again reached. Sometimes called 'decay' instead. Such an event was largely responsible for ending the Imperial Era and almost destroying human civilization, though there were also socioeconomic factors which radically impeded the response. '''Covenant''': Officially the "Covenant of the Mourning Realms". A set of oaths sworn upon by 6 of the Parties of survivors following the creation of the Mimikos, designed to create a civilization that is sustainable in the long term in the new circumstances of humanity. Though largely considered unquestionable by the political mainstream, the interpretation of its tenants have become the subject of conflict, with broadly three schools of thought. ///''Fundamentalist'': The belief that the tenants of the Covenant are absolute, and must be taken literally. After centuries of ideological dominance, its hegemony has been fractured in the aftermath of the Civil Dispute. ///''Interpretist'': The belief that the tenants of the Covenant should be interpreted more liberally in accordance with the spirit in which they were written, often under the guidance of a secondary, longer document written by the Covenant's authors known as the Proclamation of Mankind's Future. An ascendant ideology. ///''Reformist'': The belief that the tenants of the Covenant are flawed due to a lack of foresight by the authors and must be amended or abolished outright. Considered an extremist ideology, although relatively popular among the young. '''Covenant Schism''': A disagreement on the specifics of some of the Covenant's tenants between two Parties, the Lluatec and the Uana, and the other six. The result was that they did not settle the Mimikos, and follow a significantly different, and much briefer, version of the Covenant. Attempts have been made to mend this divide for centuries, with limited success. '''Dementia''': Shorthand for associative collapse-type dementia. A degenerative mental condition that is increasingly likely to occur in those older than 500, and especially 600 years. It is currently believed to be untreatable. With the exception of accidents, it is the most common cause of death in the civilized world. '''Duumvirate''': Shorthand for the Lluatec-Uana Duumvirate. A loose federation that oversees most of the states established by the Lluatec and Uana Parties, placing it in vague opposition to the Grand Alliance, though no hostilities have ever occurred. It dominates the Empyrean almost completely. '''Era''': A popular means of separating human history, based on broad trends in governmental development and the scope of human artifice. Scholars generally observe five distinct eras. ///''Primeval'': The age between the earliest human settlements and the advent of complex societal organization and subsequent consolidation of power that would come to be defined as civilization. Comprised of small, relatively isolated communities. ///''Old Kingdoms'': The earliest age of civilization, characterized by local centralization the beginnings of specialized labor, but limited trade and simple government still concentrated in fertile regions. ///''New Kingdoms'': The first age conceived of as culturally sophisticated, characterized by much greater centralization and high levels of specialization, trade, and complex bureaucratic government. Civilization has now spread across the world, but remains fractious. ///''Imperial'': The apex of civilization before the collapse of the old world, characterized by a smaller number of extremely complex and deeply interconnected states which largely no longer required human labor to function. The only era in which settlements beyond the Earth were constructed. ///''Covenant/Mourning'': The contemporary era, for which disagreement on the name exists. '''Empyrean''': The area of space both physically and extra-planarly above the Mimikos, largely unused by the Ironworkers. It is home to a variety of experimental structures, many of which are habitable by humans, though to varying degrees of hospitality. '''Epoch''': An alternative means of categorizing broad ages of history from a more anthropological perspective, based on the dominant 'tool' utilized by human beings. Divided into four - Bone, Fire, Iron, and Arcane. '''Exodus, The''': The event wherein the eight Parties, following their awakening from their slumber within the Tower of Asphodel, were incarnated into either the Mimikos of the Empyrean. '''Generation''': An informal label given to individuals based on the century of their birth that has become a socially acceptable way to inquire as to someones approximate age. In the contemporary social climate, the 14th and 13th generations are considered young, the 12th and 11th mature, and the 10th and beyond elderly. This excludes the most recent generation, the 15th, of whom the eldest are only 9 years old. '''Grand Alliance''': Shorthand for the Grand Alliance of the Mourning Realms. A single pan-national government under which the nations of the Mimikos united following the virtual elimination of scarcity and the period of universal good relations and heightened diplomatic spirit that marked the end of the Interplanar Colonization Period. Governed by the Old Yru Convention, a council of elected leaders, bureaucrats and heads of state. '''Great Lamp''': An artificial sun created by the Ironworkers to service the Mimikos. It crosses the sky each day by means of a giant mechanical edifice, with an angle that changes depending on the season. '''Great Work''': A term dating back to ancient alchemy with a vague and often contextually-dependent meaning, but classically in reference to the pursuit of immortality or great scholarly achievements in service of that goal. In some traditions, the Great Work is also a spiritual transformation; the evolution of the self, or man's collective self, into a higher order of being. '''Incantation''': The words used to invoke a certain effect using the Power. Largely mathematical in nature, they are spoken in Eme, an ancient relative of modern Ysaran that has almost nothing in common with the contemporary language. They require extremely precise pronunciation and mathematics, or will fail - sometimes with spectacular consequences. '''Index''': The source of the Power. An extra-dimensional machine grafted to a Pneuma, allowing it to physically interact with the Higher Planes, moving energy and matter in manners that transcend the mundane. Each Index is unique, and there are a finite number (1,073,741,824) corresponding to different 'routes' by which the Higher Planes can be accessed, often possessing their own subtle traits which affect the casting of their bearer. If fire was the tool by which man began his dominance of nature, then an Index can be considered the terminus of that long quest; all that separates him from divine power is mastery. '''Induction''': Sometimes called an 'Initiation Ceremony.' A process which is required for a person to use the Power in the overwhelming majority of circumstances due to the trauma caused to the Pneuma as a result of the severance process designed by the Ironworkers. One of the immeasurable number of Pneuma stored within the Tower of Asphodel from those not fortunate enough to find direct shelter is affixed to the damaged root, allowing the subject to bear an Index. As the Pneuma is not a thing of flesh and blood, this addition is normally ignored by rest of the brain, the information within discarded and overwritten like a fleeting dream. '''Iron''': A substance of incredible power that was harnessed in the New Kingdoms Era, and became the backbone of civilization, enabling the impossible glories of the Imperial Era. As it was used to construct the Tower of Asphodel and preserve reality, it can no longer truly exist in the material world, in much the same way that a box cannot contain itself. However, there are some minor exceptions. ///False Iron: A shadow, or perhaps a simulacrum of iron, taken from the Tower of Asphodel as it exists in mundane reality. It is found underground in veins all over the Mimikos and the Lower Planes, and its connection to the Tower can never truly be severed. ///True Iron: Found only within the bodies of human beings in tiny quantities as a matter of necessity. It is the product of a stable paradox. It becomes False Iron when it leaves the body, and vice-versa. '''Ironworkers''': The scholars who labored to rebuild reality while the Parties slept within the Tower of Asphodel. Masters of its use from the Imperial Era, they were still limited in their success, and only able to approximate the nature of the plane from inference and incomplete records. '''Logic Bridge''': An interfacing tool used to connect the human mind to either other minds or objects via exercising the iron of the pneumaic nexus, and its connection to the Tower of Asphodel. In its most basic form, it consists of a piece of False Iron, a switch, and two polarized magnets. Can be used directly to facilitate awkward pseudo-telepathy, but a logic engine is required for translating more complex concepts. '''Logic Engine''': A machine used to perform reasoning. Most, but not all, interface with humans via logic bridges. Though logic engines can take many forms, the most common is the oscillatory logic engine, which utilizes microvibrations and extremely delicate machinery to store and process information, along with hydraulic power both to maintain its core tone and physically operate. Though much slower than minds and the iron-based logic engines of old, they are capable of incredible feats of parallel processing, rendering them able to perform mathematics and analysis beyond the scope of human ability. ///''Echo Maze'': Properly called an Echo Labyrinth. A cube which stores information in its incredibly fine internal indentures. When sound passes through it, a logic engine can process the output as extremely specific information. The most common form of data storage in the present day by far. '''Luxury Debt''': A concept that has replaced currency since the advent of mass-duplication arcana destroyed the viability of a scarcity and labor-driven economy. Everyone receives trivially produced goods for free, but to procure something that is either abstract or cannot be duplicated and requires human labor, they must go into debt with the community. This must then be repaid either by community service, or producing something else of value to pass on the debt. Class disparity still exists, however, as it remains possible to amass disproportionate amounts of non-monetary resources for oneself or a company. '''Mimikos, The''': The final attempt of the Ironworkers to create a satisfactory replacement for the old world, and the home of the vast majority of living humans. It informally refers to both the structure itself, and the plane in which it was constructed. It is shaped like a giant, incredibly thick bowl, and derives its gravity from a combination of mass, horizontal, and vertical movement. It has three major landmasses. ///''Elysian Pangaea, The'': A massive, vaguely crescent-shaped continent that comprises over 80% of the surface landmass. The coasts of the ocean within the crescent, the Mnemonic Sea, are the center of international civilization. ///''Inotian Archipelago'': A large group of islands upon which the Inotian Party mainly settled. Though they comprise only around 1% of the land in the world, they are densely populated. ///''Orphaned Continent, The'': A continent in the far north, famed for being relatively untamed. '''Party''': One of the eight groups that successfully took refuge within the Tower of Aspodel during the collapse of Imperial Era civilization. Each represents a distinct ethnic and cultural group. Some have 'legitimate' governments that can trace their leadership back to the Exodus, while others are the subject of more complicated divisions. The eight Parties are: The Ysaran, Inotian, Mekhian, Saoic, Rhunbardic, Viraaki, Lluateci, and Uana. ///''Ysaran'': Considered the most politically influential party in the Grand Alliance, it originally settled the coasts of the Mnemonic Sea before splintering almost immediately due to a lack of clear leadership. Today, it is largely reunified under the Ysaran Accord, a democratic federation of nations, though the culturally distinct Asharomi cities and the nation of Ikkaryon remain separate. Its people generally have strong features and light-to-medium brown complexions, with a minority having darker brown. Ysaran (specifically, Towerward Ysaran) serves as the de-facto lingua franca of the modern world. They are famed for their grand architecture and their traditions of runework and Golemancy, with Ysaran mathematicians said to be the greatest in the world, though the Uana would disagree. ///''Inotian'': Inversely, considered the most culturally influential party due to its history of seafaring and colonization. Though the most direct continuity of its pre-collapse government founded the Republic of Irenca on the Orphaned Continent, the majority of the party splintered to instead erect city-states on the islands of what is today called the Inotian Archipelago. Its people generally have very strong features and brassy complexions, with a minority being paler. They have a well-established scholarly tradition, with Inotian successfully outcome Mekhian as the language of science, and possess a particular bent towards philosophy. The greatest Diviners in the world, the Sibyls, are Inotian, though they are also responsible for the less prestigious discipline of Metamancy. ///''Mekhian'': Historically non-interventionist yet arguably the most powerful party in an explicit, military-industrial sense, the Mekhians are the only group to have experienced no meaningful political fractures since the settling of the Mimikos. Their state, though heavily federated, consists of the entirety of the non-expatriate and non-expatriate descended population and spans almost the entire civilized east. Its people generally have medium to dark brown complexions and soft features. They also have a strong scholarly tradition, but with a more pragmatic character, and excel at civic management. During the Mourning Period, it was the global center of all arcane research, and its signature disciplines are Geomancy and Thanatomancy. ///''Saoic'': Descended from a group of cultures which developed in partial isolation from the other Covenant signatories in the old world, the Saoic party settled the west of the continent, and today is divided into the Saoic Arcanoncracy, a bureaucratic dictatorship that is the last in the world governed by arcanists, and the much more liberal Dai League, comprised of various small nations with unique cultures. Its people have amber-to-pale complexions and very soft features. More than any other, Saoic culture has deeply internalized its grief for the old world, having an often solemn and mournful character that shuns excess. Despite this, its artistic and literary traditions are the most influential in the world. Ironically considering the government of the Arcanocracy, its accomplishments are more in conventional technology than arcana - though it is responsible for the artificing tradition of Alchemy and the obscure discipline of Radiamancy. ///''Rhunbardic'': A warlike party which settled the plateau and steppes in the center of the continent, with the exception of the exile-realms of Umbrica and Turaggoth on the Orphaned Continent. Once, the Rhunbardic Empire ruled half of the Mourning Realms, but it was defeated at the climax of the Tricenturial War and became the much smaller Rhunbardic Kingdom, the last remaining monarchy (albeit a constitutional one) in the world. Its people have pale or sometimes very pale complexions, and features that vary from soft to mixed. Almost every aspect of Rhunbardic culture is militant - cities resemble fortresses, and roles for individuals are often strict and pre-defined. In terms of the Power, it is most known for its Pyromancy, though the much more esoteric tradition of Chronomancy is also found here. ///''Viraaki'': A party that is widely considered a late-bloomer, having been weak and politically irrelevant for almost a millenia since it settled the jungles and mountains of the south, but now rapidly increasing its influence. Its political structure is unusual, with its disunited realms swearing technical fealty to its capital city-state, Sacred Vir, despite it holding very little practical power. By far the most powerful of these realms is the Exarchate of Palaat, a young nation that has grown rapidly since its founding during the Rhunbardic occupation. Its people have medium to dark brown complexions, but a very wide range of features. It is extremely famed for its Biomancy, which it even incorporates into architecture, and has begun to challenge Inotia and Sao for their cultural and artistic influence. ///''Lluateci'': One of the two Duumvirate parties based in the Empyrean, they rejected the Covenant of the Mourning Realms and chose to settle smaller structures built by the Ironworkers to avoid open conflict, before ultimately consolidating into the six nations that exist today. They generally have soft features and medium to dark red-tinted complexions. Lluateci culture is hyper-liberal to the point that it can appear almost anarchic to outsiders, with tolerance for practices that would be outrageous elsewhere. Their signature discipline is Transmutation, a necessity for surviving in the void of space, though they are also known for their Arcane Engineering. ///''Uana'': The second of the two Duumvirate parties based in the Empyrean, though in their case they remained mostly unified. A isolationist culture, the Uana scorn their bodies and the physical reality of the Mimikos as much as possible, choosing instead to interact through logic bridges; a device of their invention. Superficially, their structures appear utterly mercenary - little more than floating blocks of concrete with incredibly basic living quarters. Yet those few who have visited them describe their society within the artificed space as being an attempt to emulate the old world to a greater degree of fidelity than anywhere else. They are masters of Aetheromancy, and it is said they can bend space almost as well as the Iron Princes of the old world. '''Period''': A series of sub-classifications for periods of history within the current, post-Imperial era. ///''Mourning Period'': A time of low-population and great cultural grief for the old world, dominated by the survivors of the event, when civilization was briefly much more primitive than prior ages, mankind not yet having mastered the Power as a replacement for iron. ///''First Resurrection'': A renaissance characterized by a return to urban, centralized society and a resurgence in academic study, especially concerning arcana, resulting in the return of various amenities thought no longer possible without iron. A fleeting return of Imperial Era culture also occurs. ///''Interluminary Strife'': A brief but calamitous period brought on by damage to the Great Lamp, depriving the world of sunlight. ///''Hollow Years'': A dark age of slow recovery from the mass deaths of the previous period. ///''Second Resurrection'': A renewed renaissance, though with a more culturally conservative character, characterized by the emergence of Covenant fundamentalism. This is considered to be the earliest era that remains in living memory outside of the anomalistically elderly. ///''Tricenturial War'': A lengthy period of intermittent warfare between the Rhunbardic Empire and everyone else. Not actually three centuries long, despite the name. ///''Planar Colonization Period'': A period of interest in cross-planar colonization and settlement, as well as interaction (and, ultimately, tension and conflict) with the native inhabitants. ///''Unending Peace, The'': The contemporary age following the creation of the Grand Alliance. '''Plane''': An area of dimensionally and ruleset-consistent reality. Though the term theoretically applies to the millions of possible facets of the dimensional landscape in the universe, the more common use is in reference to the planes of the Tower of Asphodel, which all attempt at approximating the nature of mankind's long-gone original reality. A phrase often used to describe the latter in totality is the Remaining World. '''Pneuma''': An informal shorthand for the aspect of human brain which operates extradimensionally, a phenomena discovered at the end of the Imperial Era. Though originally arising entirely as a byproduct of biology,iIn the modern day, the process by which the Pneuma is intergrated with the mind must be facilitated artificially with an engineered organ known as the Pneumaic Nexus, and new ones pruned to prevent them from reconnecting with those belonging to their Seed. '''Political Affiliation''': Following the end of scarcity and the creation of the Grand Alliance, old political ideologies based around its management became inapplicable, becoming replaced by new variants focused on how society should encourage and reward participation and distribute political power. Often paired with the attitudes to the covenant listed above. For example, the political platform of the Grand Alliance is Humanist-Fundamentalist. ///''Humanism'': The belief that the state should serve every human need it can accommodate without substantial cost unconditionally (generally considered to include unlimited food of reasonable quality, clothes, basic housing and entertainment, education, and essential medical care) but that beyond that internal disparity is acceptable and that luxury and political power should be afforded only as rewards for communal participation, defined broadly as the creation or facilitation of luxuries, or the fulfillment of the essential needs of the state. Considered by its advocates to be the only value system that properly reflects the tenants of the Covenant. ///''Meritism'': The belief that the state should be obligated to provide only the barest essentials for human survival, and that all else must be earned either through either service to the community or personal entrepreneurship. It is conceptually rooted in the idea that human beings only thrive when forced into self-sufficiency, and that to offer too much for nothing, even when abundance permits it, fosters decadence. Many, however, accuse its advocates of more selfish motivations. ///''Paritism'': The belief that the state should offer the people unconditional equality in the distribution of resources, regardless of contribution or personal background. Extremely popular among the young, who have suffered the brunt of widening generational inequality, but considered fringe outside of the global east. ///''Idealism'': Sometimes defined as a subset of Meritism. The belief that the state should reward people neither universally nor on the basis of contribution, but rather by their degree of compliance with a set of national values or "ideals", usually moral in nature, but also often tied up in nationalism and religion. Extremists of this ideology are considered politically toxic and referred to as Iconists. '''Prosognostic Event/Contact Paradox''': Two potential results of individuals born from the same seed from the Tower of Asphodel coming into contact with one another. The former, caused by merely witnessing a face that matches own self-conception, leads to severe seizure-like symptoms, but this is merely a defense mechanism against the latter. If the individuals touch, the iron in both of their bodies and the surrounding area is obliterated by a temporal paradox, causing the death of both and any bystanders within a few meters. '''Refractor Rifle''': A type of firearm which propels pure light energy through a series of filters which can be lowered at the discretion of the user to varying results, ranging from stunning organic targets (though not entirely safely) to melting anything up to and including metal and stone. Developed during the Great Interplanar War, it is beginning to show its age as technology, with armors capable of deflecting its shots at even the most potent settings supposedly in development. Many wait with baited breath for the next leap in non-arcane weapons technology. '''Seed''': The source body, stored within the Tower of Asphodel, from which a person is derived on a cellular level. They are derived from the original members of each of the eight Parties, coming to a total of around 100,000 in aggregate. '''Tower of Asphodel''': The structure created by the Ironworkers at the end of the Imperial Era to provide refuge to those who could obtain it, and later to act as a foundation for the planes they would create. It is visible in the sky at all times, though it exists only partially as a physical object. f061f86aec67121c26b54cc081e00e9b163168f6 29 16 2023-12-13T13:56:34Z Systemzero 2 Attempted to add links for main articles wikitext text/x-wiki ''Thank you for reading. If you are struggling to keep up with some of the language used in this narrative, then this glossary may be of some assistance to you. Though certain terms will be excluded until they become pertinent for the purposes of dramatic tension, please note that this may spoil some light setting-related exposition which will be revealed later.'' ---- '''Arcana'''<br> A power created as a tool by the Ironworkers to assist in rebuilding the world. Sometimes referred to simply as the Power. Due to its complexity, practitioners (called 'arcanists') are separated into numerous disciplines, which are in turn divided into schools, though it should be noted that these categories are social constructs with no inherent value. The most pertinent: ///''Aetheromancy'': The study of utilizing arcana to manipulate space. ///''Alchemy'': The study of utilizing arcana to create novel elements and substances, traditionally in medicine. ///''Anima Scripting'': The study of utilizing arcana to manipulate the anima script, a biopolymer which determines the development of organisms. Because the subject of the discipline is proto-life rather than life outright, it is technically not a school of Biomancy, though this is the subject of some dispute within the academic community. ///''Biomancy'': The study of utilizing arcana to manipulate biology. ///''Chronomancy'': The study of utilizing arcana to manipulate time. ///''Divination'': The study of utilizing arcana to assess information and predict events. ///''Egomancy'': The study of utilizing arcana to alter the pneumaic nexus, the seat of human conciousness. Banned everywhere, save for the realms of the Uana. Archaically called Pneumancy. ///''Geomancy'': The study of utilizing arcana to manipulate earth, the landscape, and most broadly the climate. ///''Golemancy'': The study of utilizing arcana to create machines. ///''Metamancy'': The study of using the Power to manipulate itself. A precursor to Egomancy, which itself was a precursor to Neuromancy. ///''Neuromancy'': The study of utilizing arcana to manipulate the nervous system. Considered outside of Inotia and Ysara to be a mere school of Biomancy. ///''Pyromancy'': The study of utilizing arcana to create manipulate and generate energy directly, often for destructive purposes. ///''Radiamancy'': The study of using the Power to manipulate light. ///''Runescripting'': Not technically a discipline, though often treated as such. The study of engraving incantations, as runes, into various objects. ///''Thanatomancy'': The study of utilizing arcana to manipulate the process of death, or dead tissue. Archaically known as Necromancy. ///''Transmutation'': The study of utilizing arcana to change the nature of objects or matter. Most commonly used for replication. '''Artifice'''<br> An object or machine that requires the Power to function; for example, an arcane light. Can also be employed as a verb ('artificed') to refer to things merely created by the Power but not dependent upon it, such as construction materials and life brought about by Biomancy. '''Assimilation Failure'''<br> A rare side-effect of Induction with an unclear cause. Rather than discarding the memories stored within the affixed Pneuma, the mind instead fixates on or even centers them, beginning to transfer them to the conventional brain. In most cases, this has relatively minor effects, but occasionally can result in alterations to or even replacement of the sufferer's identity. The subject is taboo, with arcanists sworn to secrecy regarding it. ///''Acclimation Therapy'': A well-tested treatment program designed to minimize or even erase the effects of Assimilation Failure using a combination of medication, thought exercises, behavioral adjustments, and ultimately electrotherapy. Almost always successful to some extent if approached in good faith, though controversy exists regarding when it transitions to being little more than brainwashing. ///''Witch'': Slang term among arcanists for extreme sufferers of the condition, who fully conceive of themselves as people other than their original, physical selves. Almost all such individuals conceal this information, even from their loved ones. It's said to date from the Mourning Period, when the ailment was poorly understood. Newly-inducted arcanists appeared to simply go mad, using their new powers for wreak chaos and renouncing their former friends and family as if possessed by devils. '''Civil Dispute'''<br> Often called the Ikkaryonic Revolution by the young. A civil conflict within the Grand Alliance that arose based on a decision by its Old Yru Convention to treat the Ikkaryon Provisional Government, who seized the city after the rulers horrifically mismanaged it during an outbreak of disease and subsequent famine, as a criminal enemy of the state and violators of the Covenant. It ultimately led to the most serious armed conflict in 200 years, involving most of the nations of the Elysian Pangaea, before finally being brought to the end by the Summer Compromise of 1388, which granted amnesty and concessions to the rebels and their allies. '''Collapse'''<br> Shorthand for 'false vacuum collapse', a phenomenon of astrophysics where a lower minimum of energy in the vacuum is suddenly achieved, causing destabilization at a subatomic level which spreads at the speed of light until equilibrium is once again reached. Sometimes called 'decay' instead. Such an event was largely responsible for ending the Imperial Era and almost destroying human civilization, though there were also socioeconomic factors which radically impeded the response. '''Covenant'''<br> Officially the "Covenant of the Mourning Realms". A set of oaths sworn upon by 6 of the Parties of survivors following the creation of the Mimikos, designed to create a civilization that is sustainable in the long term in the new circumstances of humanity. Though largely considered unquestionable by the political mainstream, the interpretation of its tenants have become the subject of conflict, with broadly three schools of thought. ///''Fundamentalist'': The belief that the tenants of the Covenant are absolute, and must be taken literally. After centuries of ideological dominance, its hegemony has been fractured in the aftermath of the Civil Dispute. ///''Interpretist'': The belief that the tenants of the Covenant should be interpreted more liberally in accordance with the spirit in which they were written, often under the guidance of a secondary, longer document written by the Covenant's authors known as the Proclamation of Mankind's Future. An ascendant ideology. ///''Reformist'': The belief that the tenants of the Covenant are flawed due to a lack of foresight by the authors and must be amended or abolished outright. Considered an extremist ideology, although relatively popular among the young. '''Covenant Schism'''<br> A disagreement on the specifics of some of the Covenant's tenants between two Parties, the Lluatec and the Uana, and the other six. The result was that they did not settle the Mimikos, and follow a significantly different, and much briefer, version of the Covenant. Attempts have been made to mend this divide for centuries, with limited success. '''Dementia'''<br> Shorthand for associative collapse-type dementia. A degenerative mental condition that is increasingly likely to occur in those older than 500, and especially 600 years. It is currently believed to be untreatable. With the exception of accidents, it is the most common cause of death in the civilized world. '''Duumvirate'''<br> Shorthand for the Lluatec-Uana Duumvirate. A loose federation that oversees most of the states established by the Lluatec and Uana Parties, placing it in vague opposition to the Grand Alliance, though no hostilities have ever occurred. It dominates the Empyrean almost completely. '''Era'''<br> A popular means of separating human history, based on broad trends in governmental development and the scope of human artifice. Scholars generally observe five distinct eras. ///''Primeval'': The age between the earliest human settlements and the advent of complex societal organization and subsequent consolidation of power that would come to be defined as civilization. Comprised of small, relatively isolated communities. ///''Old Kingdoms'': The earliest age of civilization, characterized by local centralization the beginnings of specialized labor, but limited trade and simple government still concentrated in fertile regions. ///''New Kingdoms'': The first age conceived of as culturally sophisticated, characterized by much greater centralization and high levels of specialization, trade, and complex bureaucratic government. Civilization has now spread across the world, but remains fractious. ///''Imperial'': The apex of civilization before the collapse of the old world, characterized by a smaller number of extremely complex and deeply interconnected states which largely no longer required human labor to function. The only era in which settlements beyond the Earth were constructed. ///''Covenant/Mourning'': The contemporary era, for which disagreement on the name exists. '''Empyrean'''<br> The area of space both physically and extra-planarly above the Mimikos, largely unused by the Ironworkers. It is home to a variety of experimental structures, many of which are habitable by humans, though to varying degrees of hospitality. '''Epoch''' <br> An alternative means of categorizing broad ages of history from a more anthropological perspective, based on the dominant 'tool' utilized by human beings. Divided into four - Bone, Fire, Iron, and Arcane. '''Exodus, The'''<br> The event wherein the eight Parties, following their awakening from their slumber within the Tower of Asphodel, were incarnated into either the Mimikos of the Empyrean. '''Generation'''<br> An informal label given to individuals based on the century of their birth that has become a socially acceptable way to inquire as to someones approximate age. In the contemporary social climate, the 14th and 13th generations are considered young, the 12th and 11th mature, and the 10th and beyond elderly. This excludes the most recent generation, the 15th, of whom the eldest are only 9 years old. '''Grand Alliance'''<br> Shorthand for the Grand Alliance of the Mourning Realms. A single pan-national government under which the nations of the Mimikos united following the virtual elimination of scarcity and the period of universal good relations and heightened diplomatic spirit that marked the end of the Interplanar Colonization Period. Governed by the Old Yru Convention, a council of elected leaders, bureaucrats and heads of state. '''Great Lamp'''<br> An artificial sun created by the Ironworkers to service the Mimikos. It crosses the sky each day by means of a giant mechanical edifice, with an angle that changes depending on the season. '''Great Work'''<br> A term dating back to ancient alchemy with a vague and often contextually-dependent meaning, but classically in reference to the pursuit of immortality or great scholarly achievements in service of that goal. In some traditions, the Great Work is also a spiritual transformation; the evolution of the self, or man's collective self, into a higher order of being. '''Incantation'''<br> The words used to invoke a certain effect using the Power. Largely mathematical in nature, they are spoken in Eme, an ancient relative of modern Ysaran that has almost nothing in common with the contemporary language. They require extremely precise pronunciation and mathematics, or will fail - sometimes with spectacular consequences. '''Index'''<br> The source of the Power. An extra-dimensional machine grafted to a Pneuma, allowing it to physically interact with the Higher Planes, moving energy and matter in manners that transcend the mundane. Each Index is unique, and there are a finite number (1,073,741,824) corresponding to different 'routes' by which the Higher Planes can be accessed, often possessing their own subtle traits which affect the casting of their bearer. If fire was the tool by which man began his dominance of nature, then an Index can be considered the terminus of that long quest; all that separates him from divine power is mastery. '''Induction'''<br> Sometimes called an 'Initiation Ceremony.' A process which is required for a person to use the Power in the overwhelming majority of circumstances due to the trauma caused to the Pneuma as a result of the severance process designed by the Ironworkers. One of the immeasurable number of Pneuma stored within the Tower of Asphodel from those not fortunate enough to find direct shelter is affixed to the damaged root, allowing the subject to bear an Index. As the Pneuma is not a thing of flesh and blood, this addition is normally ignored by rest of the brain, the information within discarded and overwritten like a fleeting dream. '''Iron'''<br> {{main|Iron}}<br> A substance of incredible power that was harnessed in the New Kingdoms Era, and became the backbone of civilization, enabling the impossible glories of the Imperial Era. As it was used to construct the Tower of Asphodel and preserve reality, it can no longer truly exist in the material world, in much the same way that a box cannot contain itself. However, there are some minor exceptions. ///False Iron: A shadow, or perhaps a simulacrum of iron, taken from the Tower of Asphodel as it exists in mundane reality. It is found underground in veins all over the Mimikos and the Lower Planes, and its connection to the Tower can never truly be severed. ///True Iron: Found only within the bodies of human beings in tiny quantities as a matter of necessity. It is the product of a stable paradox. It becomes False Iron when it leaves the body, and vice-versa. '''Ironworkers'''<br> {{main|Ironworkers}}<br> The scholars who labored to rebuild reality while the Parties slept within the Tower of Asphodel. Masters of its use from the Imperial Era, they were still limited in their success, and only able to approximate the nature of the plane from inference and incomplete records. '''Logic Bridge'''<br> {{main|Logic Bridge}}<br> An interfacing tool used to connect the human mind to either other minds or objects via exercising the iron of the pneumaic nexus, and its connection to the Tower of Asphodel. In its most basic form, it consists of a piece of False Iron, a switch, and two polarized magnets. Can be used directly to facilitate awkward pseudo-telepathy, but a logic engine is required for translating more complex concepts. '''Logic Engine'''<br> {{main|Logic Engine}}<br> A machine used to perform reasoning. Most, but not all, interface with humans via logic bridges. Though logic engines can take many forms, the most common is the oscillatory logic engine, which utilizes microvibrations and extremely delicate machinery to store and process information, along with hydraulic power both to maintain its core tone and physically operate. Though much slower than minds and the iron-based logic engines of old, they are capable of incredible feats of parallel processing, rendering them able to perform mathematics and analysis beyond the scope of human ability. ///''Echo Maze'': Properly called an Echo Labyrinth. A cube which stores information in its incredibly fine internal indentures. When sound passes through it, a logic engine can process the output as extremely specific information. The most common form of data storage in the present day by far. '''Luxury Debt'''<br> A concept that has replaced currency since the advent of mass-duplication arcana destroyed the viability of a scarcity and labor-driven economy. Everyone receives trivially produced goods for free, but to procure something that is either abstract or cannot be duplicated and requires human labor, they must go into debt with the community. This must then be repaid either by community service, or producing something else of value to pass on the debt. Class disparity still exists, however, as it remains possible to amass disproportionate amounts of non-monetary resources for oneself or a company. '''Mimikos, The'''<br> The final attempt of the Ironworkers to create a satisfactory replacement for the old world, and the home of the vast majority of living humans. It informally refers to both the structure itself, and the plane in which it was constructed. It is shaped like a giant, incredibly thick bowl, and derives its gravity from a combination of mass, horizontal, and vertical movement. It has three major landmasses. ///''Elysian Pangaea, The'': A massive, vaguely crescent-shaped continent that comprises over 80% of the surface landmass. The coasts of the ocean within the crescent, the Mnemonic Sea, are the center of international civilization. ///''Inotian Archipelago'': A large group of islands upon which the Inotian Party mainly settled. Though they comprise only around 1% of the land in the world, they are densely populated. ///''Orphaned Continent, The'': A continent in the far north, famed for being relatively untamed. '''Party'''<br> One of the eight groups that successfully took refuge within the Tower of Aspodel during the collapse of Imperial Era civilization. Each represents a distinct ethnic and cultural group. Some have 'legitimate' governments that can trace their leadership back to the Exodus, while others are the subject of more complicated divisions. The eight Parties are: The Ysaran, Inotian, Mekhian, Saoic, Rhunbardic, Viraaki, Lluateci, and Uana. ///''Ysaran'': Considered the most politically influential party in the Grand Alliance, it originally settled the coasts of the Mnemonic Sea before splintering almost immediately due to a lack of clear leadership. Today, it is largely reunified under the Ysaran Accord, a democratic federation of nations, though the culturally distinct Asharomi cities and the nation of Ikkaryon remain separate. Its people generally have strong features and light-to-medium brown complexions, with a minority having darker brown. Ysaran (specifically, Towerward Ysaran) serves as the de-facto lingua franca of the modern world. They are famed for their grand architecture and their traditions of runework and Golemancy, with Ysaran mathematicians said to be the greatest in the world, though the Uana would disagree. ///''Inotian'': Inversely, considered the most culturally influential party due to its history of seafaring and colonization. Though the most direct continuity of its pre-collapse government founded the Republic of Irenca on the Orphaned Continent, the majority of the party splintered to instead erect city-states on the islands of what is today called the Inotian Archipelago. Its people generally have very strong features and brassy complexions, with a minority being paler. They have a well-established scholarly tradition, with Inotian successfully outcome Mekhian as the language of science, and possess a particular bent towards philosophy. The greatest Diviners in the world, the Sibyls, are Inotian, though they are also responsible for the less prestigious discipline of Metamancy. ///''Mekhian'': Historically non-interventionist yet arguably the most powerful party in an explicit, military-industrial sense, the Mekhians are the only group to have experienced no meaningful political fractures since the settling of the Mimikos. Their state, though heavily federated, consists of the entirety of the non-expatriate and non-expatriate descended population and spans almost the entire civilized east. Its people generally have medium to dark brown complexions and soft features. They also have a strong scholarly tradition, but with a more pragmatic character, and excel at civic management. During the Mourning Period, it was the global center of all arcane research, and its signature disciplines are Geomancy and Thanatomancy. ///''Saoic'': Descended from a group of cultures which developed in partial isolation from the other Covenant signatories in the old world, the Saoic party settled the west of the continent, and today is divided into the Saoic Arcanoncracy, a bureaucratic dictatorship that is the last in the world governed by arcanists, and the much more liberal Dai League, comprised of various small nations with unique cultures. Its people have amber-to-pale complexions and very soft features. More than any other, Saoic culture has deeply internalized its grief for the old world, having an often solemn and mournful character that shuns excess. Despite this, its artistic and literary traditions are the most influential in the world. Ironically considering the government of the Arcanocracy, its accomplishments are more in conventional technology than arcana - though it is responsible for the artificing tradition of Alchemy and the obscure discipline of Radiamancy. ///''Rhunbardic'': A warlike party which settled the plateau and steppes in the center of the continent, with the exception of the exile-realms of Umbrica and Turaggoth on the Orphaned Continent. Once, the Rhunbardic Empire ruled half of the Mourning Realms, but it was defeated at the climax of the Tricenturial War and became the much smaller Rhunbardic Kingdom, the last remaining monarchy (albeit a constitutional one) in the world. Its people have pale or sometimes very pale complexions, and features that vary from soft to mixed. Almost every aspect of Rhunbardic culture is militant - cities resemble fortresses, and roles for individuals are often strict and pre-defined. In terms of the Power, it is most known for its Pyromancy, though the much more esoteric tradition of Chronomancy is also found here. ///''Viraaki'': A party that is widely considered a late-bloomer, having been weak and politically irrelevant for almost a millenia since it settled the jungles and mountains of the south, but now rapidly increasing its influence. Its political structure is unusual, with its disunited realms swearing technical fealty to its capital city-state, Sacred Vir, despite it holding very little practical power. By far the most powerful of these realms is the Exarchate of Palaat, a young nation that has grown rapidly since its founding during the Rhunbardic occupation. Its people have medium to dark brown complexions, but a very wide range of features. It is extremely famed for its Biomancy, which it even incorporates into architecture, and has begun to challenge Inotia and Sao for their cultural and artistic influence. ///''Lluateci'': One of the two Duumvirate parties based in the Empyrean, they rejected the Covenant of the Mourning Realms and chose to settle smaller structures built by the Ironworkers to avoid open conflict, before ultimately consolidating into the six nations that exist today. They generally have soft features and medium to dark red-tinted complexions. Lluateci culture is hyper-liberal to the point that it can appear almost anarchic to outsiders, with tolerance for practices that would be outrageous elsewhere. Their signature discipline is Transmutation, a necessity for surviving in the void of space, though they are also known for their Arcane Engineering. ///''Uana'': The second of the two Duumvirate parties based in the Empyrean, though in their case they remained mostly unified. A isolationist culture, the Uana scorn their bodies and the physical reality of the Mimikos as much as possible, choosing instead to interact through logic bridges; a device of their invention. Superficially, their structures appear utterly mercenary - little more than floating blocks of concrete with incredibly basic living quarters. Yet those few who have visited them describe their society within the artificed space as being an attempt to emulate the old world to a greater degree of fidelity than anywhere else. They are masters of Aetheromancy, and it is said they can bend space almost as well as the Iron Princes of the old world. '''Period'''<br> A series of sub-classifications for periods of history within the current, post-Imperial era. ///''Mourning Period'': A time of low-population and great cultural grief for the old world, dominated by the survivors of the event, when civilization was briefly much more primitive than prior ages, mankind not yet having mastered the Power as a replacement for iron. ///''First Resurrection'': A renaissance characterized by a return to urban, centralized society and a resurgence in academic study, especially concerning arcana, resulting in the return of various amenities thought no longer possible without iron. A fleeting return of Imperial Era culture also occurs. ///''Interluminary Strife'': A brief but calamitous period brought on by damage to the Great Lamp, depriving the world of sunlight. ///''Hollow Years'': A dark age of slow recovery from the mass deaths of the previous period. ///''Second Resurrection'': A renewed renaissance, though with a more culturally conservative character, characterized by the emergence of Covenant fundamentalism. This is considered to be the earliest era that remains in living memory outside of the anomalistically elderly. ///''Tricenturial War'': A lengthy period of intermittent warfare between the Rhunbardic Empire and everyone else. Not actually three centuries long, despite the name. ///''Planar Colonization Period'': A period of interest in cross-planar colonization and settlement, as well as interaction (and, ultimately, tension and conflict) with the native inhabitants. ///''Unending Peace, The'': The contemporary age following the creation of the Grand Alliance. '''Plane'''<br> An area of dimensionally and ruleset-consistent reality. Though the term theoretically applies to the millions of possible facets of the dimensional landscape in the universe, the more common use is in reference to the planes of the Tower of Asphodel, which all attempt at approximating the nature of mankind's long-gone original reality. A phrase often used to describe the latter in totality is the Remaining World. '''Pneuma'''<br> An informal shorthand for the aspect of human brain which operates extradimensionally, a phenomena discovered at the end of the Imperial Era. Though originally arising entirely as a byproduct of biology,iIn the modern day, the process by which the Pneuma is intergrated with the mind must be facilitated artificially with an engineered organ known as the Pneumaic Nexus, and new ones pruned to prevent them from reconnecting with those belonging to their Seed. '''Political Affiliation'''<br> Following the end of scarcity and the creation of the Grand Alliance, old political ideologies based around its management became inapplicable, becoming replaced by new variants focused on how society should encourage and reward participation and distribute political power. Often paired with the attitudes to the covenant listed above. For example, the political platform of the Grand Alliance is Humanist-Fundamentalist. ///''Humanism'': The belief that the state should serve every human need it can accommodate without substantial cost unconditionally (generally considered to include unlimited food of reasonable quality, clothes, basic housing and entertainment, education, and essential medical care) but that beyond that internal disparity is acceptable and that luxury and political power should be afforded only as rewards for communal participation, defined broadly as the creation or facilitation of luxuries, or the fulfillment of the essential needs of the state. Considered by its advocates to be the only value system that properly reflects the tenants of the Covenant. ///''Meritism'': The belief that the state should be obligated to provide only the barest essentials for human survival, and that all else must be earned either through either service to the community or personal entrepreneurship. It is conceptually rooted in the idea that human beings only thrive when forced into self-sufficiency, and that to offer too much for nothing, even when abundance permits it, fosters decadence. Many, however, accuse its advocates of more selfish motivations. ///''Paritism'': The belief that the state should offer the people unconditional equality in the distribution of resources, regardless of contribution or personal background. Extremely popular among the young, who have suffered the brunt of widening generational inequality, but considered fringe outside of the global east. ///''Idealism'': Sometimes defined as a subset of Meritism. The belief that the state should reward people neither universally nor on the basis of contribution, but rather by their degree of compliance with a set of national values or "ideals", usually moral in nature, but also often tied up in nationalism and religion. Extremists of this ideology are considered politically toxic and referred to as Iconists. '''Prosognostic Event/Contact Paradox'''<br> {{main|Contact Paradox}} Two potential results of individuals born from the same seed from the Tower of Asphodel coming into contact with one another. The former, caused by merely witnessing a face that matches own self-conception, leads to severe seizure-like symptoms, but this is merely a defense mechanism against the latter. If the individuals touch, the iron in both of their bodies and the surrounding area is obliterated by a temporal paradox, causing the death of both and any bystanders within a few meters. '''Refractor Rifle'''<br> A type of firearm which propels pure light energy through a series of filters which can be lowered at the discretion of the user to varying results, ranging from stunning organic targets (though not entirely safely) to melting anything up to and including metal and stone. Developed during the Great Interplanar War, it is beginning to show its age as technology, with armors capable of deflecting its shots at even the most potent settings supposedly in development. Many wait with baited breath for the next leap in non-arcane weapons technology. '''Seed'''<br> The source body, stored within the Tower of Asphodel, from which a person is derived on a cellular level. They are derived from the original members of each of the eight Parties, coming to a total of around 100,000 in aggregate. '''Tower of Asphodel'''<br> {{main|Tower of Asphodel}} The structure created by the Ironworkers at the end of the Imperial Era to provide refuge to those who could obtain it, and later to act as a foundation for the planes they would create. It is visible in the sky at all times, though it exists only partially as a physical object. 3e5d7475c09f3a5a1489c8185e6663e570678b15 Template:Main 10 11 22 2023-12-13T13:27:12Z Systemzero 2 Redirected page to [[Template:Main article]] wikitext text/x-wiki #REDIRECT [[Template:Main article]] {{Redr|from move}} 9bfa0f472c6059ee05d8bb83d7e9f620bf060057 Module:Yesno 828 17 28 2023-12-13T13:47:25Z Systemzero 2 Created page with "-- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' or val == 'y' or val =..." Scribunto text/plain -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' or val == 'y' or val == 'true' or val == 't' or val == 'on' or tonumber(val) == 1 then return true elseif val == false or val == 'no' or val == 'n' or val == 'false' or val == 'f' or val == 'off' or tonumber(val) == 0 then return false else return default end end f767643e7d12126d020d88d662a3dd057817b9dc Module:Documentation 828 23 43 42 2023-12-13T14:31:30Z Systemzero 2 1 revision imported Scribunto text/plain -- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs -- Get the config table. local cfg = mw.loadData('Module:Documentation/config') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub local format = mw.ustring.format ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made available in the p -- table for testing purposes. ---------------------------------------------------------------------------- local function message(cfgKey, valArray, expectType) --[[ -- Gets a message from the cfg table and formats it if appropriate. -- The function raises an error if the value from the cfg table is not -- of the type expectType. The default type for expectType is 'string'. -- If the table valArray is present, strings such as $1, $2 etc. in the -- message are substituted with values from the table keys [1], [2] etc. -- For example, if the message "foo-message" had the value 'Foo $2 bar $1.', -- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz." --]] local msg = cfg[cfgKey] expectType = expectType or 'string' if type(msg) ~= expectType then error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2) end if not valArray then return msg end local function getMessageVal(match) match = tonumber(match) return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4) end return ugsub(msg, '$([1-9][0-9]*)', getMessageVal) end p.message = message local function makeWikilink(page, display) if display then return format('[[%s|%s]]', page, display) else return format('[[%s]]', page) end end p.makeWikilink = makeWikilink local function makeCategoryLink(cat, sort) local catns = mw.site.namespaces[14].name return makeWikilink(catns .. ':' .. cat, sort) end p.makeCategoryLink = makeCategoryLink local function makeUrlLink(url, display) return format('[%s %s]', url, display) end p.makeUrlLink = makeUrlLink local function makeToolbar(...) local ret = {} local lim = select('#', ...) if lim < 1 then return nil end for i = 1, lim do ret[#ret + 1] = select(i, ...) end -- 'documentation-toolbar' return format( '<span class="%s">(%s)</span>', message('toolbar-class'), table.concat(ret, ' &#124; ') ) end p.makeToolbar = makeToolbar ---------------------------------------------------------------------------- -- Argument processing ---------------------------------------------------------------------------- local function makeInvokeFunc(funcName) return function (frame) local args = getArgs(frame, { valueFunc = function (key, value) if type(value) == 'string' then value = value:match('^%s*(.-)%s*$') -- Remove whitespace. if key == 'heading' or value ~= '' then return value else return nil end else return value end end }) return p[funcName](args) end end ---------------------------------------------------------------------------- -- Entry points ---------------------------------------------------------------------------- function p.nonexistent(frame) if mw.title.getCurrentTitle().subpageText == 'testcases' then return frame:expandTemplate{title = 'module test cases notice'} else return p.main(frame) end end p.main = makeInvokeFunc('_main') function p._main(args) --[[ -- This function defines logic flow for the module. -- @args - table of arguments passed by the user --]] local env = p.getEnvironment(args) local root = mw.html.create() root :wikitext(p._getModuleWikitext(args, env)) :wikitext(p.protectionTemplate(env)) :wikitext(p.sandboxNotice(args, env)) :tag('div') -- 'documentation-container' :addClass(message('container')) :attr('role', 'complementary') :attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil) :attr('aria-label', args.heading == '' and 'Documentation' or nil) :newline() :tag('div') -- 'documentation' :addClass(message('main-div-classes')) :newline() :wikitext(p._startBox(args, env)) :wikitext(p._content(args, env)) :tag('div') -- 'documentation-clear' :addClass(message('clear')) :done() :newline() :done() :wikitext(p._endBox(args, env)) :done() :wikitext(p.addTrackingCategories(env)) -- 'Module:Documentation/styles.css' return mw.getCurrentFrame():extensionTag ( 'templatestyles', '', {src=cfg['templatestyles'] }) .. tostring(root) end ---------------------------------------------------------------------------- -- Environment settings ---------------------------------------------------------------------------- function p.getEnvironment(args) --[[ -- Returns a table with information about the environment, including title -- objects and other namespace- or path-related data. -- @args - table of arguments passed by the user -- -- Title objects include: -- env.title - the page we are making documentation for (usually the current title) -- env.templateTitle - the template (or module, file, etc.) -- env.docTitle - the /doc subpage. -- env.sandboxTitle - the /sandbox subpage. -- env.testcasesTitle - the /testcases subpage. -- -- Data includes: -- env.protectionLevels - the protection levels table of the title object. -- env.subjectSpace - the number of the title's subject namespace. -- env.docSpace - the number of the namespace the title puts its documentation in. -- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace. -- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template. -- -- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value -- returned will be nil. --]] local env, envFuncs = {}, {} -- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value -- returned by that function is memoized in the env table so that we don't call any of the functions -- more than once. (Nils won't be memoized.) setmetatable(env, { __index = function (t, key) local envFunc = envFuncs[key] if envFunc then local success, val = pcall(envFunc) if success then env[key] = val -- Memoise the value. return val end end return nil end }) function envFuncs.title() -- The title object for the current page, or a test page passed with args.page. local title local titleArg = args.page if titleArg then title = mw.title.new(titleArg) else title = mw.title.getCurrentTitle() end return title end function envFuncs.templateTitle() --[[ -- The template (or module, etc.) title object. -- Messages: -- 'sandbox-subpage' --> 'sandbox' -- 'testcases-subpage' --> 'testcases' --]] local subjectSpace = env.subjectSpace local title = env.title local subpage = title.subpageText if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then return mw.title.makeTitle(subjectSpace, title.baseText) else return mw.title.makeTitle(subjectSpace, title.text) end end function envFuncs.docTitle() --[[ -- Title object of the /doc subpage. -- Messages: -- 'doc-subpage' --> 'doc' --]] local title = env.title local docname = args[1] -- User-specified doc page. local docpage if docname then docpage = docname else docpage = env.docpageBase .. '/' .. message('doc-subpage') end return mw.title.new(docpage) end function envFuncs.sandboxTitle() --[[ -- Title object for the /sandbox subpage. -- Messages: -- 'sandbox-subpage' --> 'sandbox' --]] return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage')) end function envFuncs.testcasesTitle() --[[ -- Title object for the /testcases subpage. -- Messages: -- 'testcases-subpage' --> 'testcases' --]] return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage')) end function envFuncs.protectionLevels() -- The protection levels table of the title object. return env.title.protectionLevels end function envFuncs.subjectSpace() -- The subject namespace number. return mw.site.namespaces[env.title.namespace].subject.id end function envFuncs.docSpace() -- The documentation namespace number. For most namespaces this is the -- same as the subject namespace. However, pages in the Article, File, -- MediaWiki or Category namespaces must have their /doc, /sandbox and -- /testcases pages in talk space. local subjectSpace = env.subjectSpace if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then return subjectSpace + 1 else return subjectSpace end end function envFuncs.docpageBase() -- The base page of the /doc, /sandbox, and /testcases subpages. -- For some namespaces this is the talk page, rather than the template page. local templateTitle = env.templateTitle local docSpace = env.docSpace local docSpaceText = mw.site.namespaces[docSpace].name -- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon. return docSpaceText .. ':' .. templateTitle.text end function envFuncs.compareUrl() -- Diff link between the sandbox and the main template using [[Special:ComparePages]]. local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle if templateTitle.exists and sandboxTitle.exists then local compareUrl = mw.uri.canonicalUrl( 'Special:ComparePages', { page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} ) return tostring(compareUrl) else return nil end end return env end ---------------------------------------------------------------------------- -- Auxiliary templates ---------------------------------------------------------------------------- p.getModuleWikitext = makeInvokeFunc('_getModuleWikitext') function p._getModuleWikitext(args, env) local currentTitle = mw.title.getCurrentTitle() if currentTitle.contentModel ~= 'Scribunto' then return end pcall(require, currentTitle.prefixedText) -- if it fails, we don't care local moduleWikitext = package.loaded["Module:Module wikitext"] if moduleWikitext then return moduleWikitext.main() end end function p.sandboxNotice(args, env) --[=[ -- Generates a sandbox notice for display above sandbox pages. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-notice-image' --> '[[File:Sandbox.svg|50px|alt=|link=]]' -- 'sandbox-notice-blurb' --> 'This is the $1 for $2.' -- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).' -- 'sandbox-notice-pagetype-template' --> '[[Wikipedia:Template test cases|template sandbox]] page' -- 'sandbox-notice-pagetype-module' --> '[[Wikipedia:Template test cases|module sandbox]] page' -- 'sandbox-notice-pagetype-other' --> 'sandbox page' -- 'sandbox-notice-compare-link-display' --> 'diff' -- 'sandbox-notice-testcases-blurb' --> 'See also the companion subpage for $1.' -- 'sandbox-notice-testcases-link-display' --> 'test cases' -- 'sandbox-category' --> 'Template sandboxes' --]=] local title = env.title local sandboxTitle = env.sandboxTitle local templateTitle = env.templateTitle local subjectSpace = env.subjectSpace if not (subjectSpace and title and sandboxTitle and templateTitle and mw.title.equals(title, sandboxTitle)) then return nil end -- Build the table of arguments to pass to {{ombox}}. We need just two fields, "image" and "text". local omargs = {} omargs.image = message('sandbox-notice-image') -- Get the text. We start with the opening blurb, which is something like -- "This is the template sandbox for [[Template:Foo]] (diff)." local text = '' local pagetype if subjectSpace == 10 then pagetype = message('sandbox-notice-pagetype-template') elseif subjectSpace == 828 then pagetype = message('sandbox-notice-pagetype-module') else pagetype = message('sandbox-notice-pagetype-other') end local templateLink = makeWikilink(templateTitle.prefixedText) local compareUrl = env.compareUrl if compareUrl then local compareDisplay = message('sandbox-notice-compare-link-display') local compareLink = makeUrlLink(compareUrl, compareDisplay) text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink}) else text = text .. message('sandbox-notice-blurb', {pagetype, templateLink}) end -- Get the test cases page blurb if the page exists. This is something like -- "See also the companion subpage for [[Template:Foo/testcases|test cases]]." local testcasesTitle = env.testcasesTitle if testcasesTitle and testcasesTitle.exists then if testcasesTitle.contentModel == "Scribunto" then local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-run-blurb', {testcasesLink, testcasesRunLink}) else local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink}) end end -- Add the sandbox to the sandbox category. omargs.text = text .. makeCategoryLink(message('sandbox-category')) -- 'documentation-clear' return '<div class="' .. message('clear') .. '"></div>' .. require('Module:Message box').main('ombox', omargs) end function p.protectionTemplate(env) -- Generates the padlock icon in the top right. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'protection-template' --> 'pp-template' -- 'protection-template-args' --> {docusage = 'yes'} local protectionLevels = env.protectionLevels if not protectionLevels then return nil end local editProt = protectionLevels.edit and protectionLevels.edit[1] local moveProt = protectionLevels.move and protectionLevels.move[1] if editProt then -- The page is edit-protected. return require('Module:Protection banner')._main{ message('protection-reason-edit'), small = true } elseif moveProt and moveProt ~= 'autoconfirmed' then -- The page is move-protected but not edit-protected. Exclude move -- protection with the level "autoconfirmed", as this is equivalent to -- no move protection at all. return require('Module:Protection banner')._main{ action = 'move', small = true } else return nil end end ---------------------------------------------------------------------------- -- Start box ---------------------------------------------------------------------------- p.startBox = makeInvokeFunc('_startBox') function p._startBox(args, env) --[[ -- This function generates the start box. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make -- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox -- which generate the box HTML. --]] env = env or p.getEnvironment(args) local links local content = args.content if not content or args[1] then -- No need to include the links if the documentation is on the template page itself. local linksData = p.makeStartBoxLinksData(args, env) if linksData then links = p.renderStartBoxLinks(linksData) end end -- Generate the start box html. local data = p.makeStartBoxData(args, env, links) if data then return p.renderStartBox(data) else -- User specified no heading. return nil end end function p.makeStartBoxLinksData(args, env) --[[ -- Does initial processing of data to make the [view] [edit] [history] [purge] links. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'view-link-display' --> 'view' -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'purge-link-display' --> 'purge' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'docpage-preload' --> 'Template:Documentation/preload' -- 'create-link-display' --> 'create' --]] local subjectSpace = env.subjectSpace local title = env.title local docTitle = env.docTitle if not title or not docTitle then return nil end if docTitle.isRedirect then docTitle = docTitle.redirectTarget end -- Create link if /doc doesn't exist. local preload = args.preload if not preload then if subjectSpace == 828 then -- Module namespace preload = message('module-preload') else preload = message('docpage-preload') end end return { title = title, docTitle = docTitle, -- View, display, edit, and purge links if /doc exists. viewLinkDisplay = message('view-link-display'), editLinkDisplay = message('edit-link-display'), historyLinkDisplay = message('history-link-display'), purgeLinkDisplay = message('purge-link-display'), preload = preload, createLinkDisplay = message('create-link-display') } end function p.renderStartBoxLinks(data) --[[ -- Generates the [view][edit][history][purge] or [create][purge] links from the data table. -- @data - a table of data generated by p.makeStartBoxLinksData --]] local docTitle = data.docTitle -- yes, we do intend to purge the template page on which the documentation appears local purgeLink = makeWikilink("Special:Purge/" .. data.title.prefixedText, data.purgeLinkDisplay) if docTitle.exists then local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, data.editLinkDisplay) local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, data.historyLinkDisplay) return "&#91;" .. viewLink .. "&#93; &#91;" .. editLink .. "&#93; &#91;" .. historyLink .. "&#93; &#91;" .. purgeLink .. "&#93;" else local createLink = makeUrlLink(docTitle:canonicalUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) return "&#91;" .. createLink .. "&#93; &#91;" .. purgeLink .. "&#93;" end return ret end function p.makeStartBoxData(args, env, links) --[=[ -- Does initial processing of data to pass to the start-box render function, p.renderStartBox. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error. -- -- Messages: -- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- 'template-namespace-heading' --> 'Template documentation' -- 'module-namespace-heading' --> 'Module documentation' -- 'file-namespace-heading' --> 'Summary' -- 'other-namespaces-heading' --> 'Documentation' -- 'testcases-create-link-display' --> 'create' --]=] local subjectSpace = env.subjectSpace if not subjectSpace then -- Default to an "other namespaces" namespace, so that we get at least some output -- if an error occurs. subjectSpace = 2 end local data = {} -- Heading local heading = args.heading -- Blank values are not removed. if heading == '' then -- Don't display the start box if the heading arg is defined but blank. return nil end if heading then data.heading = heading elseif subjectSpace == 10 then -- Template namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading') elseif subjectSpace == 828 then -- Module namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading') elseif subjectSpace == 6 then -- File namespace data.heading = message('file-namespace-heading') else data.heading = message('other-namespaces-heading') end -- Heading CSS local headingStyle = args['heading-style'] if headingStyle then data.headingStyleText = headingStyle else -- 'documentation-heading' data.headingClass = message('main-div-heading-class') end -- Data for the [view][edit][history][purge] or [create] links. if links then -- 'mw-editsection-like plainlinks' data.linksClass = message('start-box-link-classes') data.links = links end return data end function p.renderStartBox(data) -- Renders the start box html. -- @data - a table of data generated by p.makeStartBoxData. local sbox = mw.html.create('div') sbox -- 'documentation-startbox' :addClass(message('start-box-class')) :newline() :tag('span') :addClass(data.headingClass) :attr('id', 'documentation-heading') :cssText(data.headingStyleText) :wikitext(data.heading) local links = data.links if links then sbox:tag('span') :addClass(data.linksClass) :attr('id', data.linksId) :wikitext(links) end return tostring(sbox) end ---------------------------------------------------------------------------- -- Documentation content ---------------------------------------------------------------------------- p.content = makeInvokeFunc('_content') function p._content(args, env) -- Displays the documentation contents -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment env = env or p.getEnvironment(args) local docTitle = env.docTitle local content = args.content if not content and docTitle and docTitle.exists then content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText} end -- The line breaks below are necessary so that "=== Headings ===" at the start and end -- of docs are interpreted correctly. return '\n' .. (content or '') .. '\n' end p.contentTitle = makeInvokeFunc('_contentTitle') function p._contentTitle(args, env) env = env or p.getEnvironment(args) local docTitle = env.docTitle if not args.content and docTitle and docTitle.exists then return docTitle.prefixedText else return '' end end ---------------------------------------------------------------------------- -- End box ---------------------------------------------------------------------------- p.endBox = makeInvokeFunc('_endBox') function p._endBox(args, env) --[=[ -- This function generates the end box (also known as the link box). -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- --]=] -- Get environment data. env = env or p.getEnvironment(args) local subjectSpace = env.subjectSpace local docTitle = env.docTitle if not subjectSpace or not docTitle then return nil end -- Check whether we should output the end box at all. Add the end -- box by default if the documentation exists or if we are in the -- user, module or template namespaces. local linkBox = args['link box'] if linkBox == 'off' or not ( docTitle.exists or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10 ) then return nil end -- Assemble the link box. local text = '' if linkBox then text = text .. linkBox else text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]." if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then -- We are in the user, template or module namespaces. -- Add sandbox and testcases links. -- "Editors can experiment in this template's sandbox and testcases pages." text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />' if not args.content and not args[1] then -- "Please add categories to the /doc subpage." -- Don't show this message with inline docs or with an explicitly specified doc page, -- as then it is unclear where to add the categories. text = text .. (p.makeCategoriesBlurb(args, env) or '') end text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template" end end local box = mw.html.create('div') -- 'documentation-metadata' box:attr('role', 'note') :addClass(message('end-box-class')) -- 'plainlinks' :addClass(message('end-box-plainlinks')) :wikitext(text) :done() return '\n' .. tostring(box) end function p.makeDocPageBlurb(args, env) --[=[ -- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)". -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'transcluded-from-blurb' --> -- 'The above [[Wikipedia:Template documentation|documentation]] -- is [[Help:Transclusion|transcluded]] from $1.' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'create-link-display' --> 'create' -- 'create-module-doc-blurb' --> -- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' --]=] local docTitle = env.docTitle if not docTitle then return nil end local ret if docTitle.exists then -- /doc exists; link to it. local docLink = makeWikilink(docTitle.prefixedText) local editDisplay = message('edit-link-display') local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, editDisplay) local historyDisplay = message('history-link-display') local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, historyDisplay) ret = message('transcluded-from-blurb', {docLink}) .. ' ' .. makeToolbar(editLink, historyLink) .. '<br />' elseif env.subjectSpace == 828 then -- /doc does not exist; ask to create it. local createUrl = docTitle:canonicalUrl{action = 'edit', preload = message('module-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) ret = message('create-module-doc-blurb', {createLink}) .. '<br />' end return ret end function p.makeExperimentBlurb(args, env) --[[ -- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-link-display' --> 'sandbox' -- 'sandbox-edit-link-display' --> 'edit' -- 'compare-link-display' --> 'diff' -- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'sandbox-create-link-display' --> 'create' -- 'mirror-edit-summary' --> 'Create sandbox version of $1' -- 'mirror-link-display' --> 'mirror' -- 'mirror-link-preload' --> 'Template:Documentation/mirror' -- 'sandbox-link-display' --> 'sandbox' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display'--> 'edit' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'testcases-create-link-display' --> 'create' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display' --> 'edit' -- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases' -- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases' -- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.' -- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle local testcasesTitle = env.testcasesTitle local templatePage = templateTitle.prefixedText if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then return nil end -- Make links. local sandboxLinks, testcasesLinks if sandboxTitle.exists then local sandboxPage = sandboxTitle.prefixedText local sandboxDisplay = message('sandbox-link-display') local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) local sandboxEditDisplay = message('sandbox-edit-link-display') local sandboxEditLink = makeWikilink("Special:EditPage/" .. sandboxPage, sandboxEditDisplay) local compareUrl = env.compareUrl local compareLink if compareUrl then local compareDisplay = message('compare-link-display') compareLink = makeUrlLink(compareUrl, compareDisplay) end sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) else local sandboxPreload if subjectSpace == 828 then sandboxPreload = message('module-sandbox-preload') else sandboxPreload = message('template-sandbox-preload') end local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = sandboxPreload} local sandboxCreateDisplay = message('sandbox-create-link-display') local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) local mirrorPreload = message('mirror-link-preload') local mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} if subjectSpace == 828 then mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary} end local mirrorDisplay = message('mirror-link-display') local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) end if testcasesTitle.exists then local testcasesPage = testcasesTitle.prefixedText local testcasesDisplay = message('testcases-link-display') local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) local testcasesEditUrl = testcasesTitle:canonicalUrl{action = 'edit'} local testcasesEditDisplay = message('testcases-edit-link-display') local testcasesEditLink = makeWikilink("Special:EditPage/" .. testcasesPage, testcasesEditDisplay) -- for Modules, add testcases run link if exists if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then local testcasesRunLinkDisplay = message('testcases-run-link-display') local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink) else testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) end else local testcasesPreload if subjectSpace == 828 then testcasesPreload = message('module-testcases-preload') else testcasesPreload = message('template-testcases-preload') end local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = 'edit', preload = testcasesPreload} local testcasesCreateDisplay = message('testcases-create-link-display') local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink) end local messageName if subjectSpace == 828 then messageName = 'experiment-blurb-module' else messageName = 'experiment-blurb-template' end return message(messageName, {sandboxLinks, testcasesLinks}) end function p.makeCategoriesBlurb(args, env) --[[ -- Generates the text "Please add categories to the /doc subpage." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'doc-link-display' --> '/doc' -- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.' --]] local docTitle = env.docTitle if not docTitle then return nil end local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display')) return message('add-categories-blurb', {docPathLink}) end function p.makeSubpagesBlurb(args, env) --[[ -- Generates the "Subpages of this template" link. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'template-pagetype' --> 'template' -- 'module-pagetype' --> 'module' -- 'default-pagetype' --> 'page' -- 'subpages-link-display' --> 'Subpages of this $1' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle if not subjectSpace or not templateTitle then return nil end local pagetype if subjectSpace == 10 then pagetype = message('template-pagetype') elseif subjectSpace == 828 then pagetype = message('module-pagetype') else pagetype = message('default-pagetype') end local subpagesLink = makeWikilink( 'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', message('subpages-link-display', {pagetype}) ) return message('subpages-blurb', {subpagesLink}) end ---------------------------------------------------------------------------- -- Tracking categories ---------------------------------------------------------------------------- function p.addTrackingCategories(env) --[[ -- Check if {{documentation}} is transcluded on a /doc or /testcases page. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'display-strange-usage-category' --> true -- 'doc-subpage' --> 'doc' -- 'testcases-subpage' --> 'testcases' -- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage' -- -- /testcases pages in the module namespace are not categorised, as they may have -- {{documentation}} transcluded automatically. --]] local title = env.title local subjectSpace = env.subjectSpace if not title or not subjectSpace then return nil end local subpage = title.subpageText local ret = '' if message('display-strange-usage-category', nil, 'boolean') and ( subpage == message('doc-subpage') or subjectSpace ~= 828 and subpage == message('testcases-subpage') ) then ret = ret .. makeCategoryLink(message('strange-usage-category')) end return ret end return p 268dc89480af10873bfbca5439ae8e61b404f770 Module:Documentation/config 828 24 45 44 2023-12-13T14:31:31Z Systemzero 2 1 revision imported Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[File:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = '[[Wikipedia:Template test cases|template sandbox]] page' cfg['sandbox-notice-pagetype-module'] = '[[Wikipedia:Template test cases|module sandbox]] page' cfg['sandbox-notice-pagetype-other'] = 'sandbox page' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'This is the $1 for $2.' cfg['sandbox-notice-diff-blurb'] = 'This is the $1 for $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'diff' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'See also the companion subpage for $1.' cfg['sandbox-notice-testcases-link-display'] = 'test cases' cfg['sandbox-notice-testcases-run-blurb'] = 'See also the companion subpage for $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'run' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Template sandboxes' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Template documentation' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Module documentation' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Summary' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documentation' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'view' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edit' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'history' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purge' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'The above [[Wikipedia:Template documentation|documentation]] is [[Help:Transclusion|transcluded]] from $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages." cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'sandbox' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'sandbox' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edit' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'create' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'diff' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Create sandbox version of $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirror' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/mirror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'testcases' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'testcases' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edit' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'run' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Add categories to the $1 subpage.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Subpages of this $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'template' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'module' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'page' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- -- cfg['templatestyles'] -- The name of the TemplateStyles page where CSS is kept. -- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed. cfg['templatestyles'] = 'Module:Documentation/styles.css' -- cfg['container'] -- Class which can be used to set flex or grid CSS on the -- two child divs documentation and documentation-metadata cfg['container'] = 'documentation-container' -- cfg['main-div-classes'] -- Classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'documentation' -- cfg['main-div-heading-class'] -- Class for the main heading for templates and modules and assoc. talk spaces cfg['main-div-heading-class'] = 'documentation-heading' -- cfg['start-box-class'] -- Class for the start box cfg['start-box-class'] = 'documentation-startbox' -- cfg['start-box-link-classes'] -- Classes used for the [view][edit][history] or [create] links in the start box. -- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]] cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks' -- cfg['end-box-class'] -- Class for the end box. cfg['end-box-class'] = 'documentation-metadata' -- cfg['end-box-plainlinks'] -- Plainlinks cfg['end-box-plainlinks'] = 'plainlinks' -- cfg['toolbar-class'] -- Class added for toolbar links. cfg['toolbar-class'] = 'documentation-toolbar' -- cfg['clear'] -- Just used to clear things. cfg['clear'] = 'documentation-clear' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg 71b68ed73088f1a59d61acf06bbee9fde6677f03 Module:Documentation/styles.css 828 25 47 46 2023-12-13T14:31:32Z Systemzero 2 1 revision imported text text/plain /* {{pp|small=yes}} */ .documentation, .documentation-metadata { border: 1px solid #a2a9b1; background-color: #ecfcf4; clear: both; } .documentation { margin: 1em 0 0 0; padding: 1em; } .documentation-metadata { margin: 0.2em 0; /* same margin left-right as .documentation */ font-style: italic; padding: 0.4em 1em; /* same padding left-right as .documentation */ } .documentation-startbox { padding-bottom: 3px; border-bottom: 1px solid #aaa; margin-bottom: 1ex; } .documentation-heading { font-weight: bold; font-size: 125%; } .documentation-clear { /* Don't want things to stick out where they shouldn't. */ clear: both; } .documentation-toolbar { font-style: normal; font-size: 85%; } ce0e629c92e3d825ab9fd927fe6cc37d9117b6cb Template:Reflist/styles.css 10 26 49 48 2023-12-13T14:31:32Z Systemzero 2 1 revision imported text text/plain /* {{pp|small=yes}} */ /* can we remove the font size declarations? .references gets a font-size in * common.css that is always 90, and there is nothing else in reflist out in * the wild. May affect column sizes. */ .reflist { font-size: 90%; /* Default font-size */ margin-bottom: 0.5em; list-style-type: decimal; } .reflist .references { font-size: 100%; /* Reset font-size when nested in div.reflist */ margin-bottom: 0; /* Avoid double margin when nested in div.reflist */ list-style-type: inherit; /* Enable custom list style types */ } /* columns-2 and columns-3 are legacy for "2 or more" column view from when the * template was implemented with column-count. */ .reflist-columns-2 { column-width: 30em; } .reflist-columns-3 { column-width: 25em; } /* Reset top margin for lists embedded in columns */ .reflist-columns { margin-top: 0.3em; } .reflist-columns ol { margin-top: 0; } /* Avoid elements breaking between columns */ .reflist-columns li { page-break-inside: avoid; /* Removed from CSS in favor of break-inside c. 2020 */ break-inside: avoid-column; } .reflist-upper-alpha { list-style-type: upper-alpha; } .reflist-upper-roman { list-style-type: upper-roman; } .reflist-lower-alpha { list-style-type: lower-alpha; } .reflist-lower-greek { list-style-type: lower-greek; } .reflist-lower-roman { list-style-type: lower-roman; } 531a26d48f0e7826c61f764cfb7d5fb200032c34 Template:Main article 10 10 51 21 2023-12-13T14:44:02Z Systemzero 2 1 revision imported: Main article links wikitext text/x-wiki {{#invoke:main|main}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> a7952a0ddabebcef9371e9783f0fed2425a59187 Module:Hatnote 828 13 53 24 2023-12-13T14:44:03Z Systemzero 2 1 revision imported: Main article links Scribunto text/plain -------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the {{hatnote}} and {{format link}} meta-templates and includes -- -- helper functions for other Lua hatnote modules. -- -------------------------------------------------------------------------------- local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg local mArguments -- lazily initialise [[Module:Arguments]] local yesno -- lazily initialise [[Module:Yesno]] local formatLink -- lazily initialise [[Module:Format link]] ._formatLink local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end function p.defaultClasses(inline) -- Provides the default hatnote classes as a space-separated string; useful -- for hatnote-manipulation modules like [[Module:Hatnote group]]. return (inline == 1 and 'hatnote-inline' or 'hatnote') .. ' ' .. 'navigation-not-searchable' end function p.disambiguate(page, disambiguator) -- Formats a page title with a disambiguation parenthetical, -- i.e. "Example" → "Example (disambiguation)". checkType('disambiguate', 1, page, 'string') checkType('disambiguate', 2, disambiguator, 'string', true) disambiguator = disambiguator or 'disambiguation' return mw.ustring.format('%s (%s)', page, disambiguator) end function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to false. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end function p.makeWikitextError(msg, helpLink, addTrackingCategory, title) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- [[Module:Yesno]], and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') title = title or mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' ([[' .. helpLink .. '|help]])' else helpText = '' end -- Make the category text. local category if not title.isTalkPage -- Don't categorise talk pages and title.namespace ~= 2 -- Don't categorise userspace and yesno(addTrackingCategory) ~= false -- Allow opting out then category = 'Hatnote templates with errors' category = mw.ustring.format( '[[%s:%s]]', mw.site.namespaces[14].name, category ) else category = '' end return mw.ustring.format( '<strong class="error">Error: %s%s.</strong>%s', msg, helpText, category ) end local curNs = mw.title.getCurrentTitle().namespace p.missingTargetCat = --Default missing target category, exported for use in related modules ((curNs == 0) or (curNs == 14)) and 'Articles with hatnote templates targeting a nonexistent page' or nil function p.quote(title) --Wraps titles in quotation marks. If the title starts/ends with a quotation --mark, kerns that side as with {{-'}} local quotationMarks = { ["'"]=true, ['"']=true, ['“']=true, ["‘"]=true, ['”']=true, ["’"]=true } local quoteLeft, quoteRight = -- Test if start/end are quotation marks quotationMarks[string.sub(title, 1, 1)], quotationMarks[string.sub(title, -1, -1)] if quoteLeft or quoteRight then title = mw.html.create("span"):wikitext(title) end if quoteLeft then title:css("padding-left", "0.15em") end if quoteRight then title:css("padding-right", "0.15em") end return '"' .. tostring(title) .. '"' end -------------------------------------------------------------------------------- -- Hatnote -- -- Produces standard hatnote text. Implements the {{hatnote}} template. -------------------------------------------------------------------------------- function p.hatnote(frame) local args = getArgs(frame) local s = args[1] if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end return p._hatnote(s, { extraclasses = args.extraclasses, selfref = args.selfref }) end function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) options = options or {} local inline = options.inline local hatnote = mw.html.create(inline == 1 and 'span' or 'div') local extraclasses if type(options.extraclasses) == 'string' then extraclasses = options.extraclasses end hatnote :attr('role', 'note') :addClass(p.defaultClasses(inline)) :addClass(extraclasses) :addClass(options.selfref and 'selfref' or nil) :wikitext(s) return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Hatnote/styles.css' } } .. tostring(hatnote) end return p 3ae1ed7094c5005ca0896395ec9a587287a0bef1 Module:Hatnote list 828 14 55 25 2023-12-13T14:44:03Z Systemzero 2 1 revision imported: Main article links Scribunto text/plain -------------------------------------------------------------------------------- -- Module:Hatnote list -- -- -- -- This module produces and formats lists for use in hatnotes. In particular, -- -- it implements the for-see list, i.e. lists of "For X, see Y" statements, -- -- as used in {{about}}, {{redirect}}, and their variants. Also introduced -- -- are andList & orList helpers for formatting lists with those conjunctions. -- -------------------------------------------------------------------------------- local mArguments --initialize lazily local mFormatLink = require('Module:Format link') local mHatnote = require('Module:Hatnote') local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local p = {} -------------------------------------------------------------------------------- -- List stringification helper functions -- -- These functions are used for stringifying lists, usually page lists inside -- the "Y" portion of "For X, see Y" for-see items. -------------------------------------------------------------------------------- --default options table used across the list stringification functions local stringifyListDefaultOptions = { conjunction = "and", separator = ",", altSeparator = ";", space = " ", formatted = false } --Searches display text only local function searchDisp(haystack, needle) return string.find( string.sub(haystack, (string.find(haystack, '|') or 0) + 1), needle ) end -- Stringifies a list generically; probably shouldn't be used directly local function stringifyList(list, options) -- Type-checks, defaults, and a shortcut checkType("stringifyList", 1, list, "table") if #list == 0 then return nil end checkType("stringifyList", 2, options, "table", true) options = options or {} for k, v in pairs(stringifyListDefaultOptions) do if options[k] == nil then options[k] = v end end local s = options.space -- Format the list if requested if options.formatted then list = mFormatLink.formatPages( {categorizeMissing = mHatnote.missingTargetCat}, list ) end -- Set the separator; if any item contains it, use the alternate separator local separator = options.separator for k, v in pairs(list) do if searchDisp(v, separator) then separator = options.altSeparator break end end -- Set the conjunction, apply Oxford comma, and force a comma if #1 has "§" local conjunction = s .. options.conjunction .. s if #list == 2 and searchDisp(list[1], "§") or #list > 2 then conjunction = separator .. conjunction end -- Return the formatted string return mw.text.listToText(list, separator .. s, conjunction) end --DRY function function p.conjList (conj, list, fmt) return stringifyList(list, {conjunction = conj, formatted = fmt}) end -- Stringifies lists with "and" or "or" function p.andList (...) return p.conjList("and", ...) end function p.orList (...) return p.conjList("or", ...) end -------------------------------------------------------------------------------- -- For see -- -- Makes a "For X, see [[Y]]." list from raw parameters. Intended for the -- {{about}} and {{redirect}} templates and their variants. -------------------------------------------------------------------------------- --default options table used across the forSee family of functions local forSeeDefaultOptions = { andKeyword = 'and', title = mw.title.getCurrentTitle().text, otherText = 'other uses', forSeeForm = 'For %s, see %s.', } --Collapses duplicate punctuation local function punctuationCollapse (text) local replacements = { ["%.%.$"] = ".", ["%?%.$"] = "?", ["%!%.$"] = "!", ["%.%]%]%.$"] = ".]]", ["%?%]%]%.$"] = "?]]", ["%!%]%]%.$"] = "!]]" } for k, v in pairs(replacements) do text = string.gsub(text, k, v) end return text end -- Structures arguments into a table for stringification, & options function p.forSeeArgsToTable (args, from, options) -- Type-checks and defaults checkType("forSeeArgsToTable", 1, args, 'table') checkType("forSeeArgsToTable", 2, from, 'number', true) from = from or 1 checkType("forSeeArgsToTable", 3, options, 'table', true) options = options or {} for k, v in pairs(forSeeDefaultOptions) do if options[k] == nil then options[k] = v end end -- maxArg's gotten manually because getArgs() and table.maxn aren't friends local maxArg = 0 for k, v in pairs(args) do if type(k) == 'number' and k > maxArg then maxArg = k end end -- Structure the data out from the parameter list: -- * forTable is the wrapper table, with forRow rows -- * Rows are tables of a "use" string & a "pages" table of pagename strings -- * Blanks are left empty for defaulting elsewhere, but can terminate list local forTable = {} local i = from local terminated = false -- If there is extra text, and no arguments are given, give nil value -- to not produce default of "For other uses, see foo (disambiguation)" if options.extratext and i > maxArg then return nil end -- Loop to generate rows repeat -- New empty row local forRow = {} -- On blank use, assume list's ended & break at end of this loop forRow.use = args[i] if not args[i] then terminated = true end -- New empty list of pages forRow.pages = {} -- Insert first pages item if present table.insert(forRow.pages, args[i + 1]) -- If the param after next is "and", do inner loop to collect params -- until the "and"'s stop. Blanks are ignored: "1|and||and|3" → {1, 3} while args[i + 2] == options.andKeyword do if args[i + 3] then table.insert(forRow.pages, args[i + 3]) end -- Increment to next "and" i = i + 2 end -- Increment to next use i = i + 2 -- Append the row table.insert(forTable, forRow) until terminated or i > maxArg return forTable end -- Stringifies a table as formatted by forSeeArgsToTable function p.forSeeTableToString (forSeeTable, options) -- Type-checks and defaults checkType("forSeeTableToString", 1, forSeeTable, "table", true) checkType("forSeeTableToString", 2, options, "table", true) options = options or {} for k, v in pairs(forSeeDefaultOptions) do if options[k] == nil then options[k] = v end end -- Stringify each for-see item into a list local strList = {} if forSeeTable then for k, v in pairs(forSeeTable) do local useStr = v.use or options.otherText local pagesStr = p.andList(v.pages, true) or mFormatLink._formatLink{ categorizeMissing = mHatnote.missingTargetCat, link = mHatnote.disambiguate(options.title) } local forSeeStr = string.format(options.forSeeForm, useStr, pagesStr) forSeeStr = punctuationCollapse(forSeeStr) table.insert(strList, forSeeStr) end end if options.extratext then table.insert(strList, punctuationCollapse(options.extratext..'.')) end -- Return the concatenated list return table.concat(strList, ' ') end -- Produces a "For X, see [[Y]]" string from arguments. Expects index gaps -- but not blank/whitespace values. Ignores named args and args < "from". function p._forSee (args, from, options) local forSeeTable = p.forSeeArgsToTable(args, from, options) return p.forSeeTableToString(forSeeTable, options) end -- As _forSee, but uses the frame. function p.forSee (frame, from, options) mArguments = require('Module:Arguments') return p._forSee(mArguments.getArgs(frame), from, options) end return p d0828422b1aa0d0d0092d699d059c9e882260398 Module:Main 828 12 57 23 2023-12-13T14:44:06Z Systemzero 2 1 revision imported: Main article links Scribunto text/plain --[[ -- This module produces a link to a main article or articles. It implements the -- template {{main}}. -- -- If the module is used in category or category talk space, it produces "The -- main article for this category is xxx". Otherwise, it produces -- "Main article: xxx". --]] local mHatnote = require('Module:Hatnote') local mHatlist = require('Module:Hatnote list') local mArguments -- lazily initialise local p = {} function p.main(frame) mArguments = require('Module:Arguments') local args = mArguments.getArgs(frame, {parentOnly = true}) local pages = {} for k, v in pairs(args) do if type(k) == 'number' then local display = args['label ' .. k] or args['l' .. k] local page = display and string.format('%s|%s', string.gsub(v, '|.*$', ''), display) or v pages[#pages + 1] = page end end if #pages == 0 and mw.title.getCurrentTitle().namespace == 0 then return mHatnote.makeWikitextError( 'no page names specified', 'Template:Main#Errors', args.category ) end local options = { selfref = args.selfref } return p._main(pages, options) end function p._main(args, options) -- Get the list of pages. If no first page was specified we use the current -- page name. local currentTitle = mw.title.getCurrentTitle() if #args == 0 then args = {currentTitle.text} end local firstPage = string.gsub(args[1], '|.*$', '') -- Find the pagetype. local pageType = mHatnote.findNamespaceId(firstPage) == 0 and 'article' or 'page' -- Make the formatted link text list = mHatlist.andList(args, true) -- Build the text. local isPlural = #args > 1 local mainForm local curNs = currentTitle.namespace if (curNs == 14) or (curNs == 15) then --category/talk namespaces mainForm = isPlural and 'The main %ss for this [[Wikipedia:Categorization|category]] are %s' or 'The main %s for this [[Wikipedia:Categorization|category]] is %s' else mainForm = isPlural and 'Main %ss: %s' or 'Main %s: %s' end local text = string.format(mainForm, pageType, list) -- Process the options and pass the text to the _rellink function in -- [[Module:Hatnote]]. options = options or {} local hnOptions = { selfref = options.selfref } return mHatnote._hatnote(text, hnOptions) end return p 517f3aa2c528cf570341bd093fd71fefd6755aca Module:Hatnote/styles.css 828 27 59 58 2023-12-13T14:44:08Z Systemzero 2 1 revision imported: Main article links text text/plain /* {{pp|small=y}} */ .hatnote { font-style: italic; } /* Limit structure CSS to divs because of [[Module:Hatnote inline]] */ div.hatnote { /* @noflip */ padding-left: 1.6em; margin-bottom: 0.5em; } .hatnote i { font-style: normal; } /* The templatestyles element inserts a link element before hatnotes. * TODO: Remove link if/when WMF resolves T200206 */ .hatnote + link + .hatnote { margin-top: -0.5em; } 44680ffd6e888866df2cdfa0341af9c7b97da94c Module:Format link 828 15 61 26 2023-12-13T14:44:09Z Systemzero 2 1 revision imported: Main article links Scribunto text/plain -------------------------------------------------------------------------------- -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the {{format link}} template. -------------------------------------------------------------------------------- local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg local mArguments -- lazily initialise [[Module:Arguments]] local mError -- lazily initialise [[Module:Error]] local yesno -- lazily initialise [[Module:Yesno]] local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end local function maybeItalicize(s, shouldItalicize) -- Italicize s if s is a string and the shouldItalicize parameter is true. if s and shouldItalicize then return '<i>' .. s .. '</i>' else return s end end local function parseLink(link) -- Parse a link and return a table with the link's components. -- These components are: -- - link: the link, stripped of any initial colon (always present) -- - page: the page name (always present) -- - section: the page name (may be nil) -- - display: the display text, if manually entered after a pipe (may be nil) link = removeInitialColon(link) -- Find whether a faux display value has been added with the {{!}} magic -- word. local prePipe, display = link:match('^(.-)|(.*)$') link = prePipe or link -- Find the page, if it exists. -- For links like [[#Bar]], the page will be nil. local preHash, postHash = link:match('^(.-)#(.*)$') local page if not preHash then -- We have a link like [[Foo]]. page = link elseif preHash ~= '' then -- We have a link like [[Foo#Bar]]. page = preHash end -- Find the section, if it exists. local section if postHash and postHash ~= '' then section = postHash end return { link = link, page = page, section = section, display = display, } end local function formatDisplay(parsed, options) -- Formats a display string based on a parsed link table (matching the -- output of parseLink) and an options table (matching the input options for -- _formatLink). local page = maybeItalicize(parsed.page, options.italicizePage) local section = maybeItalicize(parsed.section, options.italicizeSection) if (not section) then return page elseif (not page) then return mw.ustring.format('§&nbsp;%s', section) else return mw.ustring.format('%s §&nbsp;%s', page, section) end end local function missingArgError(target) mError = require('Module:Error') return mError.error{message = 'Error: no link or target specified! ([[' .. target .. '#Errors|help]])' } end -------------------------------------------------------------------------------- -- Main functions -------------------------------------------------------------------------------- function p.formatLink(frame) -- The formatLink export function, for use in templates. yesno = require('Module:Yesno') local args = getArgs(frame) local link = args[1] or args.link local target = args[3] or args.target if not (link or target) then return missingArgError('Template:Format link') end return p._formatLink{ link = link, display = args[2] or args.display, target = target, italicizePage = yesno(args.italicizepage), italicizeSection = yesno(args.italicizesection), categorizeMissing = args.categorizemissing } end function p._formatLink(options) -- The formatLink export function, for use in modules. checkType('_formatLink', 1, options, 'table') local function check(key, expectedType) --for brevity checkTypeForNamedArg( '_formatLink', key, options[key], expectedType or 'string', true ) end check('link') check('display') check('target') check('italicizePage', 'boolean') check('italicizeSection', 'boolean') check('categorizeMissing') -- Normalize link and target and check that at least one is present if options.link == '' then options.link = nil end if options.target == '' then options.target = nil end if not (options.link or options.target) then return missingArgError('Module:Format link') end local parsed = parseLink(options.link) local display = options.display or parsed.display local catMissing = options.categorizeMissing local category = '' -- Find the display text if not display then display = formatDisplay(parsed, options) end -- Handle the target option if present if options.target then local parsedTarget = parseLink(options.target) parsed.link = parsedTarget.link parsed.page = parsedTarget.page end -- Test if page exists if a diagnostic category is specified if catMissing and (mw.ustring.len(catMissing) > 0) then local title = nil if parsed.page then title = mw.title.new(parsed.page) end if title and (not title.isExternal) then local success, exists = pcall(function() return title.exists end) if success and not exists then category = mw.ustring.format('[[Category:%s]]', catMissing) end end end -- Format the result as a link if parsed.link == display then return mw.ustring.format('[[:%s]]%s', parsed.link, category) else return mw.ustring.format('[[:%s|%s]]%s', parsed.link, display, category) end end -------------------------------------------------------------------------------- -- Derived convenience functions -------------------------------------------------------------------------------- function p.formatPages(options, pages) -- Formats an array of pages using formatLink and the given options table, -- and returns it as an array. Nil values are not allowed. local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink{ link = page, categorizeMissing = options.categorizeMissing, italicizePage = options.italicizePage, italicizeSection = options.italicizeSection } end return ret end return p 5c878065ff3809629376f94da43cf39a395b01b1 Tower of Asphodel 0 3 62 3 2023-12-13T18:58:21Z Systemzero 2 wikitext text/x-wiki The Tower of Asphodel is a structure created by the [[Ironworkers]] after the [[Imperial Era]]<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep 008: Pilgrimage to the Deep (𒐀)]</ref> as a substrate for the [[Remaining World]].<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/575766/026-in-fading-image 026: In Fading Image (𒐁)]</ref> It is a metaphysical object with a physical presence within the planes it supports. Space becomes less conventional towards the boundaries of its ruleset. == Relation to planes == The Tower is nominally two to three million miles away from the [[Mimikos]]. Reaching it requires use of the [[Arcana|Power]]. In orreries, the Tower of Asphodel is depicted as being in the center of the Remaining World, surrounded by the seven planes in its orbit.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting 019: The Quest Unrelenting (𒐀)]</ref> == Relation to human beings == All human beings have a connection to the Tower through their [[Seed|seeds]]. This connection is only severed in the event of a [[Contact Paradox]]. == Interior of Tower == Everything within the tower is collapsed into a singularity of recorded matter. 100,000 individuals from before the collapse have their bodies preserved in the Tower. The Tower also contains the disembodied pneuma held in stasis of billions of people from the old world.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/720867/055-the-die-falls 055: The Die Falls (𒐅)]</ref> The Nekrokos is a demi-plane at the uppermost level of the Tower.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/788908/068-power-of-the-gods 068: Power of the Gods (𒐂)]</ref> == History == After preserving humanity within the the Tower, the Ironworkers placed themselves in stasis until it was possible to create a new stable plane.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/681110/045-the-chosen-children 045: The Chosen Children (𒐅)]</ref> ==References== {{reflist}} de10f3cff09189ed8b76654f13b648792f2d390a 66 62 2023-12-14T23:27:48Z SilverHydra 7 /* Relation to planes */ wikitext text/x-wiki The Tower of Asphodel is a structure created by the [[Ironworkers]] after the [[Imperial Era]]<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep 008: Pilgrimage to the Deep (𒐀)]</ref> as a substrate for the [[Remaining World]].<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/575766/026-in-fading-image 026: In Fading Image (𒐁)]</ref> It is a metaphysical object with a physical presence within the planes it supports. Space becomes less conventional towards the boundaries of its ruleset. == Relation to planes == The Tower is nominally two to three million miles away from the [[Mimikos]]. Reaching it requires use of the [[Arcana|Power]]. In orreries, the Tower of Asphodel is depicted as being in the center of the Remaining World, surrounded by [[the seven planes]] in its orbit.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting 019: The Quest Unrelenting (𒐀)]</ref> == Relation to human beings == All human beings have a connection to the Tower through their [[Seed|seeds]]. This connection is only severed in the event of a [[Contact Paradox]]. == Interior of Tower == Everything within the tower is collapsed into a singularity of recorded matter. 100,000 individuals from before the collapse have their bodies preserved in the Tower. The Tower also contains the disembodied pneuma held in stasis of billions of people from the old world.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/720867/055-the-die-falls 055: The Die Falls (𒐅)]</ref> The Nekrokos is a demi-plane at the uppermost level of the Tower.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/788908/068-power-of-the-gods 068: Power of the Gods (𒐂)]</ref> == History == After preserving humanity within the the Tower, the Ironworkers placed themselves in stasis until it was possible to create a new stable plane.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/681110/045-the-chosen-children 045: The Chosen Children (𒐅)]</ref> ==References== {{reflist}} 588e17d39b05491739973f9567b6abb7e13cbb9e User:Systemzero 2 28 63 2023-12-14T03:15:38Z Systemzero 2 Created page with "My minimal wiki experience is with editing content on pre existing wikis. Since [https://wiki.whentheycry.org/wiki/Main_Page When They Cry Wiki] is the Miraheze/MediaWiki I'm most familiar with, I've been cribbing code from there. The interwiki prefix I've been using for import is <code>whentheycrywiki</code>. == Technical needs == * Enable [https://www.mediawiki.org/wiki/Help:Subpages subpages] to fix the CSS templates for the reference list and main article templates..." wikitext text/x-wiki My minimal wiki experience is with editing content on pre existing wikis. Since [https://wiki.whentheycry.org/wiki/Main_Page When They Cry Wiki] is the Miraheze/MediaWiki I'm most familiar with, I've been cribbing code from there. The interwiki prefix I've been using for import is <code>whentheycrywiki</code>. == Technical needs == * Enable [https://www.mediawiki.org/wiki/Help:Subpages subpages] to fix the CSS templates for the reference list and main article templates * Figure out how to mark for spoilers so that first time readers can still use this wiki as a reference. Possibly organize information by chapter? * Character page template == Ideas for wiki expansion == * Longer main articles for glossary entries * Create spoiler marked timeline * Link to [https://sekhmet.fun/ sekhmet.fun] * Chapter or story arc summaries? * Page for playwright & director rules * Page(s) for red and purple text 0cbce5ee7cc5581ad749e57f93363a74ff5f348e 99 63 2023-12-15T03:23:30Z Systemzero 2 wikitext text/x-wiki <big>🕳️ ← this way to the sanctuary</big> ---- We’ve attained two fates<br> We’re all alike, one life form ---- I have reached my heart's desire,<br> This ancient island of mysteries! ---- The eternal miracle I believe in.<br> The eternal deity I tested.<br> Ah, Infinite history of the “Middle Ages.”<br> Be reborn in me! 5913b6487fc3466eef0661657abbf4bc7904f262 List of characters in The Flower That Bloomed Nowhere 0 8 64 20 2023-12-14T03:30:55Z Jjjqance 5 /* Non-attendees */ wikitext text/x-wiki == Exemplary Acolytes Class == * [[Utsushikome of Fusai]] * [[Ran of Hoa-Trinh]] * [[Kamrusepa of Tuon]] * [[Theodoros of Melanthos]] * [[Ptolema of Rheeds]] * [[Seth of Ikkuret]] * [[Ophelia of the Glass Fields]] * [[Lilith of Eskhalon]] * [[Bardiya of Tuon]] * [[Ezekiel of Ilaadbat]] * [[Jia Fang]] == Order of the Universal Panacea == * [[Linos of Melanthos]] * [[Neferuaten of Amat]] * [[Durvasa of Wayal]] * [[Zeno of Apocyrion]] * [[Amtu-Heddu-Anna]] * [[Hamilcar of Kane]] * [[Sac'Nicte'Ic'Nal]] * [[Yantho'Ic'Thal]] * [[Vijana of Yamune]] == Guests == * [[Mehit of Eskhalon]] * [[Balthazar of Isan]] * [[Samium of Ur-Ysar]] == Non-attendees == * [[⬛️⬛️⬛️⬛️⬛️ of Fusai]] * [[Nindar of Inadu]] * [[Jothi of Somrang]] * [[Autonoe of Koranthia]] * [[Ishkibal of Nuradan]] * [[Alexandros of Myrh]] * [[Harkhuf]] * [[Iwa of Suyak]] 4a101582158dc8d601c51e990b5a650bab965946 65 64 2023-12-14T03:32:10Z Jjjqance 5 /* Non-attendees */ wikitext text/x-wiki == Exemplary Acolytes Class == * [[Utsushikome of Fusai]] * [[Ran of Hoa-Trinh]] * [[Kamrusepa of Tuon]] * [[Theodoros of Melanthos]] * [[Ptolema of Rheeds]] * [[Seth of Ikkuret]] * [[Ophelia of the Glass Fields]] * [[Lilith of Eskhalon]] * [[Bardiya of Tuon]] * [[Ezekiel of Ilaadbat]] * [[Jia Fang]] == Order of the Universal Panacea == * [[Linos of Melanthos]] * [[Neferuaten of Amat]] * [[Durvasa of Wayal]] * [[Zeno of Apocyrion]] * [[Amtu-Heddu-Anna]] * [[Hamilcar of Kane]] * [[Sac'Nicte'Ic'Nal]] * [[Yantho'Ic'Thal]] * [[Vijana of Yamune]] == Guests == * [[Mehit of Eskhalon]] * [[Balthazar of Isan]] * [[Samium of Ur-Ysar]] == Non-attendees == * [[⬛️⬛️⬛️⬛️⬛️ of Fusai]] * [[Nindar of Inadu]] * [[Jothi of Somrang]] * [[Autonoe of Koranthia]] * [[Ishkibal of Nuradan]] * [[Alexandros of Myrh]] * [[Harkhuf]] * [[Iwa of Suyak]] * [[Cheng Gue]] a41a340ea143c807fab6c67e567935ef9a4115eb Remaining World 0 29 67 2023-12-14T23:54:00Z SilverHydra 7 Created page with "The planes are spaces of dimensionally and ruleset-consistent reality within the remaining world. Though the term theoretically applies to the millions of possible facets of the remaining world, the more common use is in reference to the seven planes of the [[Tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary], often depicted as stacked sequentally from the "bottom" towards the "top" of the tower [https://..." wikitext text/x-wiki The planes are spaces of dimensionally and ruleset-consistent reality within the remaining world. Though the term theoretically applies to the millions of possible facets of the remaining world, the more common use is in reference to the seven planes of the [[Tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary], often depicted as stacked sequentally from the "bottom" towards the "top" of the tower [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. This is a mostly metaphorical view as none of the planes are visible from any other planes and it's impossible to travel between planes using conventional travel. The seven planes come from the ironworkers' attempts at reconstructing the physics and living conditions of the old world in the restricted and alien conditions of the Tower of Asphodel [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary][https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep]. Each of the seven planes represents an attempt, most of them being failures and not condusive to human habitation [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The seven planes are, in order from lowest/oldest to highest/newest, [[Ergastrikos]], [[Paradoxikos]], [[Lavyrinkos]], [[Thyelikos]], [[Diakos]], [[Atelikos]] and [[Mimikos]]. ff50dfbc1cde3678fbe62ac975c87ba38c94f569 69 67 2023-12-14T23:59:56Z SilverHydra 7 wikitext text/x-wiki The planes are spaces of dimensionally and ruleset-consistent reality within the remaining world. Though the term theoretically applies to the millions of possible facets of the remaining world, the more common use is in reference to the seven planes of the [[Tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary], often depicted as stacked sequentally from the "bottom" towards the "top" of the tower [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. This is a mostly metaphorical view as none of the planes are visible from any other planes and it's impossible to travel between planes using conventional travel. The seven planes come from the ironworkers' attempts at reconstructing the physics and living conditions of the old world in the restricted and alien conditions of the Tower of Asphodel [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary][https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep]. Each of the seven planes represents an attempt, most of them being failures and not condusive to human habitation [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The seven planes are, in order from lowest/oldest to highest/newest, [[Ergastrikos]], [[Paradoxikos]], [[Lavyrinkos]], [[Thyelikos]], [[Diakos]], [[Atelikos]] and [[Mimikos]]. [[File:The Planes 3.png|thumb|alt=Illustration of the seven planes stacked in order from lowest to highest.|The seven planes illustrated by community member SilverHydra]] 0c3955453678adb60b2d82b0204c4a7628db9a05 70 69 2023-12-15T00:07:17Z SilverHydra 7 wikitext text/x-wiki The planes are spaces of dimensionally and ruleset-consistent reality within the remaining world. Though the term theoretically applies to the millions of possible facets of the remaining world, the more common use is in reference to the seven planes of the [[Tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary], often depicted as stacked sequentally from the "bottom" towards the "top" of the tower [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. This is an accurate metaphor as they exist sequentially, but none of the planes are visible from any other planes and it's impossible to travel between planes using conventional travel. The seven planes come from the ironworkers' attempts at reconstructing the physics and living conditions of the old world in the restricted and alien conditions of the Tower of Asphodel [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary][https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep]. Each of the seven planes represents an attempt, most of them being failures and not condusive to human habitation [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The seven planes are, in order from lowest/oldest to highest/newest, [[Ergastrikos]], [[Paradoxikos]], [[Lavyrinkos]], [[Thyelikos]], [[Diakos]], [[Atelikos]] and [[Mimikos]]. The space existing below the Ergastrikos is referred to as the [[Nadir]], and the space above the Mimikos is referred to as [[The Empyrean]]. [[File:The Planes 3.png|thumb|alt=Illustration of the seven planes stacked in order from lowest to highest.|The seven planes illustrated by community member SilverHydra]] 707cd99e97a5886e3ca4a6cc80bc76e4126cf07c 73 70 2023-12-15T00:14:43Z SilverHydra 7 wikitext text/x-wiki The planes are spaces of dimensionally and ruleset-consistent reality within the remaining world. Though the term theoretically applies to the millions of possible facets of the remaining world, the more common use is in reference to the seven planes of the [[Tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary], often depicted as stacked sequentally from the "bottom" towards the "top" of the tower [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. This is an accurate metaphor as they exist sequentially, but none of the planes are visible from any other planes and it's impossible to travel between planes using conventional travel. The seven planes come from the ironworkers' attempts at reconstructing the physics and living conditions of the old world in the restricted and alien conditions of the Tower of Asphodel [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary][https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep]. Each of the seven planes represents an attempt, most of them being failures and not condusive to human habitation [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The seven planes are, in order from lowest/oldest to highest/newest, [[Ergastrikos]], [[Paradoxikos]], [[Lavyrinkos]], [[Thyellikos]], [[Diakos]], [[Atelikos]] and [[Mimikos]]. The space existing below the Ergastrikos is referred to as the [[Nadir]], and the space above the Mimikos is referred to as [[The Empyrean]]. [[File:The Planes 3.png|thumb|alt=Illustration of the seven planes stacked in order from lowest to highest.|The seven planes illustrated by community member SilverHydra]] 5969364e8a04750abf1fd8693059bbc0f19d0412 75 73 2023-12-15T00:23:10Z SilverHydra 7 wikitext text/x-wiki The planes are spaces of dimensionally and ruleset-consistent reality within the remaining world. Though the term theoretically applies to the millions of possible facets of the remaining world, the more common use is in reference to the seven planes of the [[Tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary], often depicted as stacked sequentally from the "bottom" towards the "top" of the tower [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. This is an accurate metaphor as they exist sequentially, but none of the planes are visible from any other planes and it's impossible to travel between planes using conventional travel. The seven planes come from the ironworkers' attempts at reconstructing the physics and living conditions of the old world in the restricted and alien conditions of the Tower of Asphodel [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary][https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep]. Each of the seven planes represents an attempt, most of them being failures and not condusive to human habitation [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The seven planes are, in order from lowest/oldest to highest/newest, [[Ergastrikos]], [[Paradoxikos]], [[Lavyrinthikos]], [[Thyellikos]], [[Diakos]], [[Atelikos]] and [[Mimikos]]. The space existing below the Ergastrikos is referred to as the [[Nadir]], and the space above the Mimikos is referred to as [[The Empyrean]]. [[File:The Planes 3.png|thumb|alt=Illustration of the seven planes stacked in order from lowest to highest.|The seven planes illustrated by community member SilverHydra]] 246c709948fdb3fce40479b820d64e46ab11a385 File:The Planes 3.png 6 30 68 2023-12-14T23:59:28Z SilverHydra 7 wikitext text/x-wiki The seven planes of the Tower of Asphodel illustrated by community member SilverHydra. Based on limited descriptions given by Lurina in the story and on discord. 96d9b3237f2b902093326021a70e0ddc9260a39e Ergastrikos 0 31 71 2023-12-15T00:11:09Z SilverHydra 7 Created page with "The Ergastrikos is the lowest of [[the seven planes]] and the first attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. [[Lurina]] describes the Ergastrikos in a discord post as follows: ''"Ergastrikos ("Sandbox World") The first world created by the Ironworkers, it later served as a testing ground for their efforts. An infinite flat plane is littered with failed attempts at creating a conventional, spherical planet."''" wikitext text/x-wiki The Ergastrikos is the lowest of [[the seven planes]] and the first attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. [[Lurina]] describes the Ergastrikos in a discord post as follows: ''"Ergastrikos ("Sandbox World") The first world created by the Ironworkers, it later served as a testing ground for their efforts. An infinite flat plane is littered with failed attempts at creating a conventional, spherical planet."'' 6bf036cf9e5614a13cb1e2c50289fab409d4aa72 88 71 2023-12-15T01:28:15Z SilverHydra 7 wikitext text/x-wiki The Ergastrikos is the lowest of [[the seven planes]] and the first attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. [[Lurina]] describes the Ergastrikos in rwo discord posts as follows: ''"Ergastrikos ("Sandbox World") The first world created by the Ironworkers, it later served as a testing ground for their efforts. An infinite flat plane is littered with failed attempts at creating a conventional, spherical planet."'' ''"Regarding... the Esgastrikos, I'd probably imagined... [it] would probably be represented as just a flat platform at the base of the orrery. Maybe with some broken planets."'' 0552e4d0f206c8af86a32860fc4928aaef889b14 90 88 2023-12-15T01:29:20Z Azzi 8 wikitext text/x-wiki The Ergastrikos is the lowest of [[the seven planes]] and the first attempt from the [[Ironworkers]] at recreating the physics and living conditions of [[the old world]]. [[Lurina]] describes the Ergastrikos in rwo discord posts as follows: ''"Ergastrikos ("Sandbox World") The first world created by the Ironworkers, it later served as a testing ground for their efforts. An infinite flat plane is littered with failed attempts at creating a conventional, spherical planet."'' ''"Regarding... the Esgastrikos, I'd probably imagined... [it] would probably be represented as just a flat platform at the base of the orrery. Maybe with some broken planets."'' c589f43e753f5822598316284954d4f34c4bdeba Paradoxikos 0 32 72 2023-12-15T00:14:12Z SilverHydra 7 Created page with "The Paradoxikos is the lowest of [[the seven planes]] and the second attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. [[Lurina]] describes the Paradoxikos in a discord post as follows: ''"Paradoxikos ("Paradox World") An ambitious world designed to emulate reality experientially rather than foundationally, with a mobius strip-like structure. A completely failed project in which time and space flow incoherently and in w..." wikitext text/x-wiki The Paradoxikos is the lowest of [[the seven planes]] and the second attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. [[Lurina]] describes the Paradoxikos in a discord post as follows: ''"Paradoxikos ("Paradox World") An ambitious world designed to emulate reality experientially rather than foundationally, with a mobius strip-like structure. A completely failed project in which time and space flow incoherently and in which nothing can survive."'' 7557d5a4dcf78c45e69a6a67d4416cbbc491bed9 81 72 2023-12-15T00:28:10Z SilverHydra 7 wikitext text/x-wiki The Paradoxikos is the second lowest of [[the seven planes]] and the second attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. [[Lurina]] describes the Paradoxikos in a discord post as follows: ''"Paradoxikos ("Paradox World") An ambitious world designed to emulate reality experientially rather than foundationally, with a mobius strip-like structure. A completely failed project in which time and space flow incoherently and in which nothing can survive."'' 8e9698a026e6e370242e1de6646fb6b7d30c58b9 91 81 2023-12-15T01:30:24Z Azzi 8 wikitext text/x-wiki The Paradoxikos is the second lowest of [[the seven planes]] and the second attempt from the [[Ironworkers]] at recreating the physics and living conditions of [[the old world]]. [[Lurina]] describes the Paradoxikos in a discord post as follows: ''"Paradoxikos ("Paradox World") An ambitious world designed to emulate reality experientially rather than foundationally, with a mobius strip-like structure. A completely failed project in which time and space flow incoherently and in which nothing can survive."'' c5ffaaa275ac133d9bc2d2b0bd0ffb45740b581a Lavyrinkos 0 33 74 2023-12-15T00:22:14Z SilverHydra 7 Created page with "The Lavyrinkos is the third lowest of [[the seven planes]] and the third attempt from [[the ironworkes]] at recreating the physics and living conditions of [[the old world]]. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as Mahabaal, the father of Lilith of Eshkalon and brother of Hamilkar of Kane. He has since gone missing, though it is unknown if he went missing while exploring the Lavyrinthikos specifically [https://..." wikitext text/x-wiki The Lavyrinkos is the third lowest of [[the seven planes]] and the third attempt from [[the ironworkes]] at recreating the physics and living conditions of [[the old world]]. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as Mahabaal, the father of Lilith of Eshkalon and brother of Hamilkar of Kane. He has since gone missing, though it is unknown if he went missing while exploring the Lavyrinthikos specifically [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/842122/078-justice-and-kindness]. [[Lurina]] describes the Lavyrinkos in a discord post as follows: ''"Lavyrinkos ("Labyrinth World") A world designed as a vast number of small demi-planes that were intended to interlink completely, creating the illusion of a discrete reality, it has now broken down its component parts, the connections between them shifting constantly. Incredibly diverse."'' de9f30e9f66eb5e6922086251826adfb1488fdce 77 74 2023-12-15T00:25:47Z SilverHydra 7 Redirected page to [[Lavyrinthikos]] wikitext text/x-wiki #REDIRECT [[lavyrinthikos]] a8eab2a7e2d82abcd35d8b0b1341836fed7f5da9 Lavyrinthikos 0 34 76 2023-12-15T00:25:11Z SilverHydra 7 Created page with "The Lavyrinthikos is the third lowest of [[the seven planes]] and the third attempt from [[the ironworkes]] at recreating the physics and living conditions of [[the old world]]. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as Mahabaal, the father of Lilith of Eshkalon and brother of Hamilkar of Kane. He has since gone missing, though it is unknown if he went missing while exploring the Lavyrinthikos specifically [https..." wikitext text/x-wiki The Lavyrinthikos is the third lowest of [[the seven planes]] and the third attempt from [[the ironworkes]] at recreating the physics and living conditions of [[the old world]]. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as Mahabaal, the father of Lilith of Eshkalon and brother of Hamilkar of Kane. He has since gone missing, though it is unknown if he went missing while exploring the Lavyrinthikos specifically [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/842122/078-justice-and-kindness]. [[Lurina]] describes the Lavyrinkos in a discord post as follows: ''"Lavyrinkos ("Labyrinth World") A world designed as a vast number of small demi-planes that were intended to interlink completely, creating the illusion of a discrete reality, it has now broken down its component parts, the connections between them shifting constantly. Incredibly diverse."'' 624c6317c871a0521e9ebc76733c98c10c983c4b 78 76 2023-12-15T00:26:42Z SilverHydra 7 wikitext text/x-wiki The Lavyrinthikos is the third lowest of [[the seven planes]] and the third attempt from [[the ironworkes]] at recreating the physics and living conditions of [[the old world]]. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as [[Mahabaal]], the father of [[Lilith of Eshkalon]] and brother of [[Hamilkar of Kane]]. He has since gone missing, though it is unknown if he went missing while exploring the Lavyrinthikos specifically [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/842122/078-justice-and-kindness]. [[Lurina]] describes the Lavyrinkos in a discord post as follows: ''"Lavyrinkos ("Labyrinth World") A world designed as a vast number of small demi-planes that were intended to interlink completely, creating the illusion of a discrete reality, it has now broken down its component parts, the connections between them shifting constantly. Incredibly diverse."'' f988d809096ac416cf1a469c0cda8782e9c38de2 79 78 2023-12-15T00:27:20Z SilverHydra 7 wikitext text/x-wiki The Lavyrinthikos is the third lowest of [[the seven planes]] and the third attempt from [[the ironworkes]] at recreating the physics and living conditions of [[the old world]]. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as [[Mahabaal]], the father of [[Lilith of Eskhalon]] and brother of [[Hamilkar of Kane]]. He has since gone missing, though it is unknown if he went missing while exploring the Lavyrinthikos specifically [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/842122/078-justice-and-kindness]. [[Lurina]] describes the Lavyrinkos in a discord post as follows: ''"Lavyrinkos ("Labyrinth World") A world designed as a vast number of small demi-planes that were intended to interlink completely, creating the illusion of a discrete reality, it has now broken down its component parts, the connections between them shifting constantly. Incredibly diverse."'' e3b36b5a7dace7d27f373ac78688a30bebc4a072 80 79 2023-12-15T00:27:44Z SilverHydra 7 wikitext text/x-wiki The Lavyrinthikos is the third lowest of [[the seven planes]] and the third attempt from [[the ironworkes]] at recreating the physics and living conditions of [[the old world]]. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as [[Mahabaal]], the father of [[Lilith of Eskhalon]] and brother of [[Hamilcar of Kane]]. He has since gone missing, though it is unknown if he went missing while exploring the Lavyrinthikos specifically [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/842122/078-justice-and-kindness]. [[Lurina]] describes the Lavyrinkos in a discord post as follows: ''"Lavyrinkos ("Labyrinth World") A world designed as a vast number of small demi-planes that were intended to interlink completely, creating the illusion of a discrete reality, it has now broken down its component parts, the connections between them shifting constantly. Incredibly diverse."'' 7c7351f5f5a6f7d6327c790d82da35beb9cb844d 85 80 2023-12-15T01:24:04Z SilverHydra 7 wikitext text/x-wiki The Lavyrinthikos is the third lowest of [[the seven planes]] and the third attempt from [[the ironworkes]] at recreating the physics and living conditions of [[the old world]]. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as [[Mahabaal]], the father of [[Lilith of Eskhalon]] and brother of [[Hamilcar of Kane]]. He has since gone missing, though it is unknown if he went missing while exploring the Lavyrinthikos specifically [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/842122/078-justice-and-kindness]. [[Lurina]] describes the Lavyrinkos in two discord posts as follows: ''"Lavyrinkos ("Labyrinth World") A world designed as a vast number of small demi-planes that were intended to interlink completely, creating the illusion of a discrete reality, it has now broken down its component parts, the connections between them shifting constantly. Incredibly diverse."'' ''"Regarding the Lavyrinkos... I'd probably imagined [it] as being represented as like... A cluster of tiny spheres linked together by lines..."'' ac4875d3f772b8467db7a704b84b73a959b8ca0a 92 85 2023-12-15T01:30:35Z Azzi 8 wikitext text/x-wiki The Lavyrinthikos is the third lowest of [[the seven planes]] and the third attempt from the [[Ironworkers]] at recreating the physics and living conditions of [[the old world]]. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as [[Mahabaal]], the father of [[Lilith of Eskhalon]] and brother of [[Hamilcar of Kane]]. He has since gone missing, though it is unknown if he went missing while exploring the Lavyrinthikos specifically [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/842122/078-justice-and-kindness]. [[Lurina]] describes the Lavyrinkos in two discord posts as follows: ''"Lavyrinkos ("Labyrinth World") A world designed as a vast number of small demi-planes that were intended to interlink completely, creating the illusion of a discrete reality, it has now broken down its component parts, the connections between them shifting constantly. Incredibly diverse."'' ''"Regarding the Lavyrinkos... I'd probably imagined [it] as being represented as like... A cluster of tiny spheres linked together by lines..."'' 3564bdffeacf58472f81721a97fdc6951ac3f543 Thyellikos 0 35 82 2023-12-15T00:32:40Z SilverHydra 7 Created page with "The Thyellikos is the fourth lowest of [[the seven planes]] and the fourth attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. The Thyellikos is described as being significantly bigger than the planes above it with the actual planets in the plane physically distant from [[the tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. [[Lurina]] de..." wikitext text/x-wiki The Thyellikos is the fourth lowest of [[the seven planes]] and the fourth attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. The Thyellikos is described as being significantly bigger than the planes above it with the actual planets in the plane physically distant from [[the tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. [[Lurina]] describes the Thyellikos in a discord post as follows: ''"Thyellikos ("Storm World") A world that was originally supposed to be a giant sphere with the inhabitants living on the interior, it collapsed, resulting in a massive tempest with several pseudo-planetary bodies. Unlike higher planes, it used something closer to a normal star, which is now in an unstable state at the center."'' 8332a1bceaababc715a632c20a5a1fd2facbd2c2 86 82 2023-12-15T01:26:02Z SilverHydra 7 wikitext text/x-wiki The Thyellikos is the fourth lowest of [[the seven planes]] and the fourth attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. The Thyellikos is described as being significantly bigger than the planes above it with the actual planets in the plane physically distant from [[the tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. [[Lurina]] describes the Thyellikos in two discord posts as follows: ''"Thyellikos ("Storm World") A world that was originally supposed to be a giant sphere with the inhabitants living on the interior, it collapsed, resulting in a massive tempest with several pseudo-planetary bodies. Unlike higher planes, it used something closer to a normal star, which is now in an unstable state at the center."'' ''" ...the Thyellikos is meant to be somewhat more shattered and to have like, a big mess of circling gas and fire at the center."'' 64cb7c65e3e4300d8860a7b17cc5e78c3462f9fa 89 86 2023-12-15T01:28:40Z SilverHydra 7 wikitext text/x-wiki The Thyellikos, sometimes referred to as "The Tempest", is the fourth lowest of [[the seven planes]] and the fourth attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. The Thyellikos is described as being significantly bigger than the planes above it with the actual planets in the plane physically distant from [[the tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. [[Lurina]] describes the Thyellikos in two discord posts as follows: ''"Thyellikos ("Storm World") A world that was originally supposed to be a giant sphere with the inhabitants living on the interior, it collapsed, resulting in a massive tempest with several pseudo-planetary bodies. Unlike higher planes, it used something closer to a normal star, which is now in an unstable state at the center."'' ''" ...the Thyellikos is meant to be somewhat more shattered and to have like, a big mess of circling gas and fire at the center."'' 88ff071867857191636066ae5030b514c2983c86 93 89 2023-12-15T01:33:25Z SilverHydra 7 wikitext text/x-wiki The Thyellikos, sometimes referred to as "The Tempest", is the fourth lowest of [[the seven planes]] and the fourth attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. The Thyellikos is described as being significantly bigger than the planes above it with the actual planets in the plane physically distant from [[the tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. There is mentioned the possibility of "monsters" living in the Thyellikos [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/570921/025-in-fading-image]. [[Lurina]] describes the Thyellikos in two discord posts as follows: ''"Thyellikos ("Storm World") A world that was originally supposed to be a giant sphere with the inhabitants living on the interior, it collapsed, resulting in a massive tempest with several pseudo-planetary bodies. Unlike higher planes, it used something closer to a normal star, which is now in an unstable state at the center."'' ''" ...the Thyellikos is meant to be somewhat more shattered and to have like, a big mess of circling gas and fire at the center."'' 447e0363688a89f7117664a6bf827e8dd283748e 96 93 2023-12-15T01:35:12Z Azzi 8 wikitext text/x-wiki The Thyellikos, sometimes referred to as "The Tempest", is the fourth lowest of [[the seven planes]] and the fourth attempt from the [[Ironworkers]] at recreating the physics and living conditions of [[the old world]]. The Thyellikos is described as being significantly bigger than the planes above it with the actual planets in the plane physically distant from [[the tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. There is mentioned the possibility of "monsters" living in the Thyellikos [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/570921/025-in-fading-image]. [[Lurina]] describes the Thyellikos in two discord posts as follows: ''"Thyellikos ("Storm World") A world that was originally supposed to be a giant sphere with the inhabitants living on the interior, it collapsed, resulting in a massive tempest with several pseudo-planetary bodies. Unlike higher planes, it used something closer to a normal star, which is now in an unstable state at the center."'' ''" ...the Thyellikos is meant to be somewhat more shattered and to have like, a big mess of circling gas and fire at the center."'' dd9e5aedb2d7bebebde76a1a925fc0508fde9181 Diakos 0 36 83 2023-12-15T00:55:45Z SilverHydra 7 Created page with "The Diakos is the fifth lowest of [[the seven planes]] and the fifth attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. The Diakos is notable as being the first of the planes capable of supporting life and the lowest plane with a permanent human population of a few million living in reservations [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/851634/080-justice-and-kindness][https://www.ro..." wikitext text/x-wiki The Diakos is the fifth lowest of [[the seven planes]] and the fifth attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. The Diakos is notable as being the first of the planes capable of supporting life and the lowest plane with a permanent human population of a few million living in reservations [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/851634/080-justice-and-kindness][https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1072732/107-until-nothing-remains]. [[Ophelia of the Glass FIelds]] is originally from the Diakos [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/668921/043-the-chosen-children]. The physical world of the Diakos is a large ring world with an area ten times larger than that of the Mimikos covered in dense alien colored jungle. The flora and fauna of the Diakos was left to evolve on its own by the ironworkers and their biology is thus not iron based [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/851634/080-justice-and-kindness]. This alien environment makes it physically difficult for residents of the Diakos to migrate to the higher planes and migrants require organ replacements [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1072732/107-until-nothing-remains]. The civilizations of the Diakos were hit hard by [[the interplanar war]]. Many atrocities were committed and the reservations on the Diakos now receive funding from the Mimikos as a form of compensation [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/773743/065-power-of-the-gods]. [[Lurina]] describes the Thyellikos in a discord post as follows: ''"Diakos ("Crown World") A world shaped like a giant ring in orbit around a Great Lamp. Mostly jungle and full of life, but everything is incredibly alien."'' 4905e687e5e7323da32a901ed70d2d0136de8b68 94 83 2023-12-15T01:34:34Z Azzi 8 wikitext text/x-wiki The Diakos is the fifth lowest of [[the seven planes]] and the fifth attempt from the [[Ironworkers]] at recreating the physics and living conditions of [[the old world]]. The Diakos is notable as being the first of the planes capable of supporting life and the lowest plane with a permanent human population of a few million living in reservations [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/851634/080-justice-and-kindness][https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1072732/107-until-nothing-remains]. [[Ophelia of the Glass FIelds]] is originally from the Diakos [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/668921/043-the-chosen-children]. The physical world of the Diakos is a large ring world with an area ten times larger than that of the Mimikos covered in dense alien colored jungle. The flora and fauna of the Diakos was left to evolve on its own by the ironworkers and their biology is thus not iron based [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/851634/080-justice-and-kindness]. This alien environment makes it physically difficult for residents of the Diakos to migrate to the higher planes and migrants require organ replacements [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1072732/107-until-nothing-remains]. The civilizations of the Diakos were hit hard by [[the interplanar war]]. Many atrocities were committed and the reservations on the Diakos now receive funding from the Mimikos as a form of compensation [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/773743/065-power-of-the-gods]. [[Lurina]] describes the Thyellikos in a discord post as follows: ''"Diakos ("Crown World") A world shaped like a giant ring in orbit around a Great Lamp. Mostly jungle and full of life, but everything is incredibly alien."'' 281e7bacc32f2b2667dc27f304c136fa69a53865 Atelikos 0 37 84 2023-12-15T01:18:37Z SilverHydra 7 Created page with "The Atelikos is the second highest of [[the seven planes]] and the sixth attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. The Atelikos is functionally complete and supports human civilisations, although it has far less surface area then the [[Mimikos]], both due to being physically smaller and being mostly covered in ocean. The headquarters of [[the order of the universal panacea]] are located at the bottom of the nort..." wikitext text/x-wiki The Atelikos is the second highest of [[the seven planes]] and the sixth attempt from [[the ironworkes]] at recreatng the physics and living conditions of [[the old world]]. The Atelikos is functionally complete and supports human civilisations, although it has far less surface area then the [[Mimikos]], both due to being physically smaller and being mostly covered in ocean. The headquarters of [[the order of the universal panacea]] are located at the bottom of the northern Innocent Sea on the Atelikos [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The Atelikos is covered by 97% water, leaving very little land area for settlement [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. Most of the plane is composed of ocean that supports at least some large sea creatures [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/629273/033-profane-ambition]. The land is covered by [[Skia]], or shadow grass, a species of non iron-based grass common on the lower planes [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/464907/013-everblossom]. The shape of the Atelikos is an octagonal flat plate with a lamp rotating around it [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The flatness causes the gravity to be weaker than on the Mimikos [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/629273/033-profane-ambition]. The civilizations of the Atelikos were involved in [[the interplanar war]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/773743/065-power-of-the-gods] [[Lurina]] describes the Thyellikos in a discord post as follows: ''"Atelikos ("Unfinished World") - Shaped like plate with a tall rim. Mostly ocean, and the only world smaller than the one residing on the plane above it.'' 9c11674aa6e010cc7ff546ab13322028679e0e2d 95 84 2023-12-15T01:34:43Z Azzi 8 wikitext text/x-wiki The Atelikos is the second highest of [[the seven planes]] and the sixth attempt from the [[Ironworkers]] at recreating the physics and living conditions of [[the old world]]. The Atelikos is functionally complete and supports human civilisations, although it has far less surface area then the [[Mimikos]], both due to being physically smaller and being mostly covered in ocean. The headquarters of [[the order of the universal panacea]] are located at the bottom of the northern Innocent Sea on the Atelikos [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The Atelikos is covered by 97% water, leaving very little land area for settlement [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. Most of the plane is composed of ocean that supports at least some large sea creatures [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/629273/033-profane-ambition]. The land is covered by [[Skia]], or shadow grass, a species of non iron-based grass common on the lower planes [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/464907/013-everblossom]. The shape of the Atelikos is an octagonal flat plate with a lamp rotating around it [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The flatness causes the gravity to be weaker than on the Mimikos [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/629273/033-profane-ambition]. The civilizations of the Atelikos were involved in [[the interplanar war]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/773743/065-power-of-the-gods] [[Lurina]] describes the Thyellikos in a discord post as follows: ''"Atelikos ("Unfinished World") - Shaped like plate with a tall rim. Mostly ocean, and the only world smaller than the one residing on the plane above it.'' cd8e29b5137033c42dfeccdd42b547d3011d686d Ironworkers 0 38 87 2023-12-15T01:28:07Z Azzi 8 Created page with "🔗 Ironworkers: The scholars who labored to rebuild reality while the Parties slept within the Tower of Asphodel. Masters of its use from the Imperial Era, they were still limited in their success, and only able to approximate the nature of the plane from inference and incomplete records." wikitext text/x-wiki 🔗 Ironworkers: The scholars who labored to rebuild reality while the Parties slept within the Tower of Asphodel. Masters of its use from the Imperial Era, they were still limited in their success, and only able to approximate the nature of the plane from inference and incomplete records. 63f8e795560a1010ce72b92e4d06d2b487d88716 Glossary 0 9 97 29 2023-12-15T01:35:47Z Azzi 8 wikitext text/x-wiki ''Thank you for reading. If you are struggling to keep up with some of the language used in this narrative, then this glossary may be of some assistance to you. Though certain terms will be excluded until they become pertinent for the purposes of dramatic tension, please note that this may spoil some light setting-related exposition which will be revealed later.'' ---- '''Arcana'''<br> A power created as a tool by the [[Ironworkers]] to assist in rebuilding the world. Sometimes referred to simply as the Power. Due to its complexity, practitioners (called 'arcanists') are separated into numerous disciplines, which are in turn divided into schools, though it should be noted that these categories are social constructs with no inherent value. The most pertinent: ///''Aetheromancy'': The study of utilizing arcana to manipulate space. ///''Alchemy'': The study of utilizing arcana to create novel elements and substances, traditionally in medicine. ///''Anima Scripting'': The study of utilizing arcana to manipulate the anima script, a biopolymer which determines the development of organisms. Because the subject of the discipline is proto-life rather than life outright, it is technically not a school of Biomancy, though this is the subject of some dispute within the academic community. ///''Biomancy'': The study of utilizing arcana to manipulate biology. ///''Chronomancy'': The study of utilizing arcana to manipulate time. ///''Divination'': The study of utilizing arcana to assess information and predict events. ///''Egomancy'': The study of utilizing arcana to alter the pneumaic nexus, the seat of human conciousness. Banned everywhere, save for the realms of the Uana. Archaically called Pneumancy. ///''Geomancy'': The study of utilizing arcana to manipulate earth, the landscape, and most broadly the climate. ///''Golemancy'': The study of utilizing arcana to create machines. ///''Metamancy'': The study of using the Power to manipulate itself. A precursor to Egomancy, which itself was a precursor to Neuromancy. ///''Neuromancy'': The study of utilizing arcana to manipulate the nervous system. Considered outside of Inotia and Ysara to be a mere school of Biomancy. ///''Pyromancy'': The study of utilizing arcana to create manipulate and generate energy directly, often for destructive purposes. ///''Radiamancy'': The study of using the Power to manipulate light. ///''Runescripting'': Not technically a discipline, though often treated as such. The study of engraving incantations, as runes, into various objects. ///''Thanatomancy'': The study of utilizing arcana to manipulate the process of death, or dead tissue. Archaically known as Necromancy. ///''Transmutation'': The study of utilizing arcana to change the nature of objects or matter. Most commonly used for replication. '''Artifice'''<br> An object or machine that requires the Power to function; for example, an arcane light. Can also be employed as a verb ('artificed') to refer to things merely created by the Power but not dependent upon it, such as construction materials and life brought about by Biomancy. '''Assimilation Failure'''<br> A rare side-effect of Induction with an unclear cause. Rather than discarding the memories stored within the affixed Pneuma, the mind instead fixates on or even centers them, beginning to transfer them to the conventional brain. In most cases, this has relatively minor effects, but occasionally can result in alterations to or even replacement of the sufferer's identity. The subject is taboo, with arcanists sworn to secrecy regarding it. ///''Acclimation Therapy'': A well-tested treatment program designed to minimize or even erase the effects of Assimilation Failure using a combination of medication, thought exercises, behavioral adjustments, and ultimately electrotherapy. Almost always successful to some extent if approached in good faith, though controversy exists regarding when it transitions to being little more than brainwashing. ///''Witch'': Slang term among arcanists for extreme sufferers of the condition, who fully conceive of themselves as people other than their original, physical selves. Almost all such individuals conceal this information, even from their loved ones. It's said to date from the Mourning Period, when the ailment was poorly understood. Newly-inducted arcanists appeared to simply go mad, using their new powers for wreak chaos and renouncing their former friends and family as if possessed by devils. '''Civil Dispute'''<br> Often called the Ikkaryonic Revolution by the young. A civil conflict within the Grand Alliance that arose based on a decision by its Old Yru Convention to treat the Ikkaryon Provisional Government, who seized the city after the rulers horrifically mismanaged it during an outbreak of disease and subsequent famine, as a criminal enemy of the state and violators of the Covenant. It ultimately led to the most serious armed conflict in 200 years, involving most of the nations of the Elysian Pangaea, before finally being brought to the end by the Summer Compromise of 1388, which granted amnesty and concessions to the rebels and their allies. '''Collapse'''<br> Shorthand for 'false vacuum collapse', a phenomenon of astrophysics where a lower minimum of energy in the vacuum is suddenly achieved, causing destabilization at a subatomic level which spreads at the speed of light until equilibrium is once again reached. Sometimes called 'decay' instead. Such an event was largely responsible for ending the Imperial Era and almost destroying human civilization, though there were also socioeconomic factors which radically impeded the response. '''Covenant'''<br> Officially the "Covenant of the Mourning Realms". A set of oaths sworn upon by 6 of the Parties of survivors following the creation of the Mimikos, designed to create a civilization that is sustainable in the long term in the new circumstances of humanity. Though largely considered unquestionable by the political mainstream, the interpretation of its tenants have become the subject of conflict, with broadly three schools of thought. ///''Fundamentalist'': The belief that the tenants of the Covenant are absolute, and must be taken literally. After centuries of ideological dominance, its hegemony has been fractured in the aftermath of the Civil Dispute. ///''Interpretist'': The belief that the tenants of the Covenant should be interpreted more liberally in accordance with the spirit in which they were written, often under the guidance of a secondary, longer document written by the Covenant's authors known as the Proclamation of Mankind's Future. An ascendant ideology. ///''Reformist'': The belief that the tenants of the Covenant are flawed due to a lack of foresight by the authors and must be amended or abolished outright. Considered an extremist ideology, although relatively popular among the young. '''Covenant Schism'''<br> A disagreement on the specifics of some of the Covenant's tenants between two Parties, the Lluatec and the Uana, and the other six. The result was that they did not settle the Mimikos, and follow a significantly different, and much briefer, version of the Covenant. Attempts have been made to mend this divide for centuries, with limited success. '''Dementia'''<br> Shorthand for associative collapse-type dementia. A degenerative mental condition that is increasingly likely to occur in those older than 500, and especially 600 years. It is currently believed to be untreatable. With the exception of accidents, it is the most common cause of death in the civilized world. '''Duumvirate'''<br> Shorthand for the Lluatec-Uana Duumvirate. A loose federation that oversees most of the states established by the Lluatec and Uana Parties, placing it in vague opposition to the Grand Alliance, though no hostilities have ever occurred. It dominates the Empyrean almost completely. '''Era'''<br> A popular means of separating human history, based on broad trends in governmental development and the scope of human artifice. Scholars generally observe five distinct eras. ///''Primeval'': The age between the earliest human settlements and the advent of complex societal organization and subsequent consolidation of power that would come to be defined as civilization. Comprised of small, relatively isolated communities. ///''Old Kingdoms'': The earliest age of civilization, characterized by local centralization the beginnings of specialized labor, but limited trade and simple government still concentrated in fertile regions. ///''New Kingdoms'': The first age conceived of as culturally sophisticated, characterized by much greater centralization and high levels of specialization, trade, and complex bureaucratic government. Civilization has now spread across the world, but remains fractious. ///''Imperial'': The apex of civilization before the collapse of the old world, characterized by a smaller number of extremely complex and deeply interconnected states which largely no longer required human labor to function. The only era in which settlements beyond the Earth were constructed. ///''Covenant/Mourning'': The contemporary era, for which disagreement on the name exists. '''Empyrean'''<br> The area of space both physically and extra-planarly above the Mimikos, largely unused by the Ironworkers. It is home to a variety of experimental structures, many of which are habitable by humans, though to varying degrees of hospitality. '''Epoch''' <br> An alternative means of categorizing broad ages of history from a more anthropological perspective, based on the dominant 'tool' utilized by human beings. Divided into four - Bone, Fire, Iron, and Arcane. '''Exodus, The'''<br> The event wherein the eight Parties, following their awakening from their slumber within the Tower of Asphodel, were incarnated into either the Mimikos of the Empyrean. '''Generation'''<br> An informal label given to individuals based on the century of their birth that has become a socially acceptable way to inquire as to someones approximate age. In the contemporary social climate, the 14th and 13th generations are considered young, the 12th and 11th mature, and the 10th and beyond elderly. This excludes the most recent generation, the 15th, of whom the eldest are only 9 years old. '''Grand Alliance'''<br> Shorthand for the Grand Alliance of the Mourning Realms. A single pan-national government under which the nations of the Mimikos united following the virtual elimination of scarcity and the period of universal good relations and heightened diplomatic spirit that marked the end of the Interplanar Colonization Period. Governed by the Old Yru Convention, a council of elected leaders, bureaucrats and heads of state. '''Great Lamp'''<br> An artificial sun created by the Ironworkers to service the Mimikos. It crosses the sky each day by means of a giant mechanical edifice, with an angle that changes depending on the season. '''Great Work'''<br> A term dating back to ancient alchemy with a vague and often contextually-dependent meaning, but classically in reference to the pursuit of immortality or great scholarly achievements in service of that goal. In some traditions, the Great Work is also a spiritual transformation; the evolution of the self, or man's collective self, into a higher order of being. '''Incantation'''<br> The words used to invoke a certain effect using the Power. Largely mathematical in nature, they are spoken in Eme, an ancient relative of modern Ysaran that has almost nothing in common with the contemporary language. They require extremely precise pronunciation and mathematics, or will fail - sometimes with spectacular consequences. '''Index'''<br> The source of the Power. An extra-dimensional machine grafted to a Pneuma, allowing it to physically interact with the Higher Planes, moving energy and matter in manners that transcend the mundane. Each Index is unique, and there are a finite number (1,073,741,824) corresponding to different 'routes' by which the Higher Planes can be accessed, often possessing their own subtle traits which affect the casting of their bearer. If fire was the tool by which man began his dominance of nature, then an Index can be considered the terminus of that long quest; all that separates him from divine power is mastery. '''Induction'''<br> Sometimes called an 'Initiation Ceremony.' A process which is required for a person to use the Power in the overwhelming majority of circumstances due to the trauma caused to the Pneuma as a result of the severance process designed by the Ironworkers. One of the immeasurable number of Pneuma stored within the Tower of Asphodel from those not fortunate enough to find direct shelter is affixed to the damaged root, allowing the subject to bear an Index. As the Pneuma is not a thing of flesh and blood, this addition is normally ignored by rest of the brain, the information within discarded and overwritten like a fleeting dream. '''Iron'''<br> {{main|Iron}}<br> A substance of incredible power that was harnessed in the New Kingdoms Era, and became the backbone of civilization, enabling the impossible glories of the Imperial Era. As it was used to construct the Tower of Asphodel and preserve reality, it can no longer truly exist in the material world, in much the same way that a box cannot contain itself. However, there are some minor exceptions. ///False Iron: A shadow, or perhaps a simulacrum of iron, taken from the Tower of Asphodel as it exists in mundane reality. It is found underground in veins all over the Mimikos and the Lower Planes, and its connection to the Tower can never truly be severed. ///True Iron: Found only within the bodies of human beings in tiny quantities as a matter of necessity. It is the product of a stable paradox. It becomes False Iron when it leaves the body, and vice-versa. '''Ironworkers'''<br> {{main|Ironworkers}}<br> The scholars who labored to rebuild reality while the Parties slept within the Tower of Asphodel. Masters of its use from the Imperial Era, they were still limited in their success, and only able to approximate the nature of the plane from inference and incomplete records. '''Logic Bridge'''<br> {{main|Logic Bridge}}<br> An interfacing tool used to connect the human mind to either other minds or objects via exercising the iron of the pneumaic nexus, and its connection to the Tower of Asphodel. In its most basic form, it consists of a piece of False Iron, a switch, and two polarized magnets. Can be used directly to facilitate awkward pseudo-telepathy, but a logic engine is required for translating more complex concepts. '''Logic Engine'''<br> {{main|Logic Engine}}<br> A machine used to perform reasoning. Most, but not all, interface with humans via logic bridges. Though logic engines can take many forms, the most common is the oscillatory logic engine, which utilizes microvibrations and extremely delicate machinery to store and process information, along with hydraulic power both to maintain its core tone and physically operate. Though much slower than minds and the iron-based logic engines of old, they are capable of incredible feats of parallel processing, rendering them able to perform mathematics and analysis beyond the scope of human ability. ///''Echo Maze'': Properly called an Echo Labyrinth. A cube which stores information in its incredibly fine internal indentures. When sound passes through it, a logic engine can process the output as extremely specific information. The most common form of data storage in the present day by far. '''Luxury Debt'''<br> A concept that has replaced currency since the advent of mass-duplication arcana destroyed the viability of a scarcity and labor-driven economy. Everyone receives trivially produced goods for free, but to procure something that is either abstract or cannot be duplicated and requires human labor, they must go into debt with the community. This must then be repaid either by community service, or producing something else of value to pass on the debt. Class disparity still exists, however, as it remains possible to amass disproportionate amounts of non-monetary resources for oneself or a company. '''Mimikos, The'''<br> The final attempt of the Ironworkers to create a satisfactory replacement for the old world, and the home of the vast majority of living humans. It informally refers to both the structure itself, and the plane in which it was constructed. It is shaped like a giant, incredibly thick bowl, and derives its gravity from a combination of mass, horizontal, and vertical movement. It has three major landmasses. ///''Elysian Pangaea, The'': A massive, vaguely crescent-shaped continent that comprises over 80% of the surface landmass. The coasts of the ocean within the crescent, the Mnemonic Sea, are the center of international civilization. ///''Inotian Archipelago'': A large group of islands upon which the Inotian Party mainly settled. Though they comprise only around 1% of the land in the world, they are densely populated. ///''Orphaned Continent, The'': A continent in the far north, famed for being relatively untamed. '''Party'''<br> One of the eight groups that successfully took refuge within the Tower of Aspodel during the collapse of Imperial Era civilization. Each represents a distinct ethnic and cultural group. Some have 'legitimate' governments that can trace their leadership back to the Exodus, while others are the subject of more complicated divisions. The eight Parties are: The Ysaran, Inotian, Mekhian, Saoic, Rhunbardic, Viraaki, Lluateci, and Uana. ///''Ysaran'': Considered the most politically influential party in the Grand Alliance, it originally settled the coasts of the Mnemonic Sea before splintering almost immediately due to a lack of clear leadership. Today, it is largely reunified under the Ysaran Accord, a democratic federation of nations, though the culturally distinct Asharomi cities and the nation of Ikkaryon remain separate. Its people generally have strong features and light-to-medium brown complexions, with a minority having darker brown. Ysaran (specifically, Towerward Ysaran) serves as the de-facto lingua franca of the modern world. They are famed for their grand architecture and their traditions of runework and Golemancy, with Ysaran mathematicians said to be the greatest in the world, though the Uana would disagree. ///''Inotian'': Inversely, considered the most culturally influential party due to its history of seafaring and colonization. Though the most direct continuity of its pre-collapse government founded the Republic of Irenca on the Orphaned Continent, the majority of the party splintered to instead erect city-states on the islands of what is today called the Inotian Archipelago. Its people generally have very strong features and brassy complexions, with a minority being paler. They have a well-established scholarly tradition, with Inotian successfully outcome Mekhian as the language of science, and possess a particular bent towards philosophy. The greatest Diviners in the world, the Sibyls, are Inotian, though they are also responsible for the less prestigious discipline of Metamancy. ///''Mekhian'': Historically non-interventionist yet arguably the most powerful party in an explicit, military-industrial sense, the Mekhians are the only group to have experienced no meaningful political fractures since the settling of the Mimikos. Their state, though heavily federated, consists of the entirety of the non-expatriate and non-expatriate descended population and spans almost the entire civilized east. Its people generally have medium to dark brown complexions and soft features. They also have a strong scholarly tradition, but with a more pragmatic character, and excel at civic management. During the Mourning Period, it was the global center of all arcane research, and its signature disciplines are Geomancy and Thanatomancy. ///''Saoic'': Descended from a group of cultures which developed in partial isolation from the other Covenant signatories in the old world, the Saoic party settled the west of the continent, and today is divided into the Saoic Arcanoncracy, a bureaucratic dictatorship that is the last in the world governed by arcanists, and the much more liberal Dai League, comprised of various small nations with unique cultures. Its people have amber-to-pale complexions and very soft features. More than any other, Saoic culture has deeply internalized its grief for the old world, having an often solemn and mournful character that shuns excess. Despite this, its artistic and literary traditions are the most influential in the world. Ironically considering the government of the Arcanocracy, its accomplishments are more in conventional technology than arcana - though it is responsible for the artificing tradition of Alchemy and the obscure discipline of Radiamancy. ///''Rhunbardic'': A warlike party which settled the plateau and steppes in the center of the continent, with the exception of the exile-realms of Umbrica and Turaggoth on the Orphaned Continent. Once, the Rhunbardic Empire ruled half of the Mourning Realms, but it was defeated at the climax of the Tricenturial War and became the much smaller Rhunbardic Kingdom, the last remaining monarchy (albeit a constitutional one) in the world. Its people have pale or sometimes very pale complexions, and features that vary from soft to mixed. Almost every aspect of Rhunbardic culture is militant - cities resemble fortresses, and roles for individuals are often strict and pre-defined. In terms of the Power, it is most known for its Pyromancy, though the much more esoteric tradition of Chronomancy is also found here. ///''Viraaki'': A party that is widely considered a late-bloomer, having been weak and politically irrelevant for almost a millenia since it settled the jungles and mountains of the south, but now rapidly increasing its influence. Its political structure is unusual, with its disunited realms swearing technical fealty to its capital city-state, Sacred Vir, despite it holding very little practical power. By far the most powerful of these realms is the Exarchate of Palaat, a young nation that has grown rapidly since its founding during the Rhunbardic occupation. Its people have medium to dark brown complexions, but a very wide range of features. It is extremely famed for its Biomancy, which it even incorporates into architecture, and has begun to challenge Inotia and Sao for their cultural and artistic influence. ///''Lluateci'': One of the two Duumvirate parties based in the Empyrean, they rejected the Covenant of the Mourning Realms and chose to settle smaller structures built by the Ironworkers to avoid open conflict, before ultimately consolidating into the six nations that exist today. They generally have soft features and medium to dark red-tinted complexions. Lluateci culture is hyper-liberal to the point that it can appear almost anarchic to outsiders, with tolerance for practices that would be outrageous elsewhere. Their signature discipline is Transmutation, a necessity for surviving in the void of space, though they are also known for their Arcane Engineering. ///''Uana'': The second of the two Duumvirate parties based in the Empyrean, though in their case they remained mostly unified. A isolationist culture, the Uana scorn their bodies and the physical reality of the Mimikos as much as possible, choosing instead to interact through logic bridges; a device of their invention. Superficially, their structures appear utterly mercenary - little more than floating blocks of concrete with incredibly basic living quarters. Yet those few who have visited them describe their society within the artificed space as being an attempt to emulate the old world to a greater degree of fidelity than anywhere else. They are masters of Aetheromancy, and it is said they can bend space almost as well as the Iron Princes of the old world. '''Period'''<br> A series of sub-classifications for periods of history within the current, post-Imperial era. ///''Mourning Period'': A time of low-population and great cultural grief for the old world, dominated by the survivors of the event, when civilization was briefly much more primitive than prior ages, mankind not yet having mastered the Power as a replacement for iron. ///''First Resurrection'': A renaissance characterized by a return to urban, centralized society and a resurgence in academic study, especially concerning arcana, resulting in the return of various amenities thought no longer possible without iron. A fleeting return of Imperial Era culture also occurs. ///''Interluminary Strife'': A brief but calamitous period brought on by damage to the Great Lamp, depriving the world of sunlight. ///''Hollow Years'': A dark age of slow recovery from the mass deaths of the previous period. ///''Second Resurrection'': A renewed renaissance, though with a more culturally conservative character, characterized by the emergence of Covenant fundamentalism. This is considered to be the earliest era that remains in living memory outside of the anomalistically elderly. ///''Tricenturial War'': A lengthy period of intermittent warfare between the Rhunbardic Empire and everyone else. Not actually three centuries long, despite the name. ///''Planar Colonization Period'': A period of interest in cross-planar colonization and settlement, as well as interaction (and, ultimately, tension and conflict) with the native inhabitants. ///''Unending Peace, The'': The contemporary age following the creation of the Grand Alliance. '''Plane'''<br> An area of dimensionally and ruleset-consistent reality. Though the term theoretically applies to the millions of possible facets of the dimensional landscape in the universe, the more common use is in reference to the planes of the Tower of Asphodel, which all attempt at approximating the nature of mankind's long-gone original reality. A phrase often used to describe the latter in totality is the Remaining World. '''Pneuma'''<br> An informal shorthand for the aspect of human brain which operates extradimensionally, a phenomena discovered at the end of the Imperial Era. Though originally arising entirely as a byproduct of biology,iIn the modern day, the process by which the Pneuma is intergrated with the mind must be facilitated artificially with an engineered organ known as the Pneumaic Nexus, and new ones pruned to prevent them from reconnecting with those belonging to their Seed. '''Political Affiliation'''<br> Following the end of scarcity and the creation of the Grand Alliance, old political ideologies based around its management became inapplicable, becoming replaced by new variants focused on how society should encourage and reward participation and distribute political power. Often paired with the attitudes to the covenant listed above. For example, the political platform of the Grand Alliance is Humanist-Fundamentalist. ///''Humanism'': The belief that the state should serve every human need it can accommodate without substantial cost unconditionally (generally considered to include unlimited food of reasonable quality, clothes, basic housing and entertainment, education, and essential medical care) but that beyond that internal disparity is acceptable and that luxury and political power should be afforded only as rewards for communal participation, defined broadly as the creation or facilitation of luxuries, or the fulfillment of the essential needs of the state. Considered by its advocates to be the only value system that properly reflects the tenants of the Covenant. ///''Meritism'': The belief that the state should be obligated to provide only the barest essentials for human survival, and that all else must be earned either through either service to the community or personal entrepreneurship. It is conceptually rooted in the idea that human beings only thrive when forced into self-sufficiency, and that to offer too much for nothing, even when abundance permits it, fosters decadence. Many, however, accuse its advocates of more selfish motivations. ///''Paritism'': The belief that the state should offer the people unconditional equality in the distribution of resources, regardless of contribution or personal background. Extremely popular among the young, who have suffered the brunt of widening generational inequality, but considered fringe outside of the global east. ///''Idealism'': Sometimes defined as a subset of Meritism. The belief that the state should reward people neither universally nor on the basis of contribution, but rather by their degree of compliance with a set of national values or "ideals", usually moral in nature, but also often tied up in nationalism and religion. Extremists of this ideology are considered politically toxic and referred to as Iconists. '''Prosognostic Event/Contact Paradox'''<br> {{main|Contact Paradox}} Two potential results of individuals born from the same seed from the Tower of Asphodel coming into contact with one another. The former, caused by merely witnessing a face that matches own self-conception, leads to severe seizure-like symptoms, but this is merely a defense mechanism against the latter. If the individuals touch, the iron in both of their bodies and the surrounding area is obliterated by a temporal paradox, causing the death of both and any bystanders within a few meters. '''Refractor Rifle'''<br> A type of firearm which propels pure light energy through a series of filters which can be lowered at the discretion of the user to varying results, ranging from stunning organic targets (though not entirely safely) to melting anything up to and including metal and stone. Developed during the Great Interplanar War, it is beginning to show its age as technology, with armors capable of deflecting its shots at even the most potent settings supposedly in development. Many wait with baited breath for the next leap in non-arcane weapons technology. '''Seed'''<br> The source body, stored within the Tower of Asphodel, from which a person is derived on a cellular level. They are derived from the original members of each of the eight Parties, coming to a total of around 100,000 in aggregate. '''Tower of Asphodel'''<br> {{main|Tower of Asphodel}} The structure created by the Ironworkers at the end of the Imperial Era to provide refuge to those who could obtain it, and later to act as a foundation for the planes they would create. It is visible in the sky at all times, though it exists only partially as a physical object. fe3b7ff8a7df59ec4844edb95c02f6b67e9611dd Talk:Main Page 1 39 98 2023-12-15T02:54:07Z Systemzero 2 /* Getting wiki off the ground */ new section wikitext text/x-wiki == Getting wiki off the ground == My minimal wiki experience is with editing content on pre existing wikis. Since [https://wiki.whentheycry.org/wiki/Main_Page When They Cry Wiki] is the Miraheze I'm most familiar with, I've been cribbing code from there. The interwiki prefix I've been using for XML import is <code>whentheycrywiki</code>. === Technical needs === * Enable [https://www.mediawiki.org/wiki/Help:Subpages subpages] to fix the CSS templates for the reference list and main article templates * Figure out how to mark for spoilers so that first time readers can still use this wiki as a reference. Possibly organize information by chapter? * Character page template * Formalizing stylistic conventions and formatting in general (trying very hard to match the capitalization in text rn) * Page categories === Ideas for wiki expansion === * Longer main articles for glossary entries * Create spoiler marked timeline * Link to [https://sekhmet.fun/ sekhmet.fun] * Chapter or story arc summaries? * Page for playwright & director rules * Page(s) for red and purple text What kinds of things does everybody want to see on the wiki? [[User:Systemzero|Systemzero]] ([[User talk:Systemzero|talk]]) 02:54, 15 December 2023 (UTC) 439981ccee72c11e309e59cd43aeb7154be29eae 100 98 2023-12-15T23:27:55Z SilverHydra 7 wikitext text/x-wiki == Getting wiki off the ground == My minimal wiki experience is with editing content on pre existing wikis. Since [https://wiki.whentheycry.org/wiki/Main_Page When They Cry Wiki] is the Miraheze I'm most familiar with, I've been cribbing code from there. The interwiki prefix I've been using for XML import is <code>whentheycrywiki</code>. === Technical needs === * Enable [https://www.mediawiki.org/wiki/Help:Subpages subpages] to fix the CSS templates for the reference list and main article templates * Figure out how to mark for spoilers so that first time readers can still use this wiki as a reference. Possibly organize information by chapter? * Character page template * Formalizing stylistic conventions and formatting in general (trying very hard to match the capitalization in text rn) * Page categories === Ideas for wiki expansion === * Longer main articles for glossary entries * Create spoiler marked timeline * Link to [https://sekhmet.fun/ sekhmet.fun] * Chapter or story arc summaries? * Page for playwright & director rules * Page(s) for red and purple text What kinds of things does everybody want to see on the wiki? [[User:Systemzero|Systemzero]] ([[User talk:Systemzero|talk]]) 02:54, 15 December 2023 (UTC) === Thoughts on priorities === I don't have any experience editing wikis, but it seems to me that there's two main priorities: * Figuring out a spoiler warning system * Making a template for the character pages For the spoilers we could have a tiered spoiler system, marking some pages with "mild spoilers" and others with "major spoilers". We could maybe even mark each spoiler warning with the chapter number that a reader would need to reach before reading the article, though that seems like a lot of work. Another way would be to design a tiered spoiler warning system into the page layouts themselves. For example, the character pages could start with basic information, character description and a biography. Most of that would be light or medium spoilers. Then there could be a "in the story" section that's marked with more heavy spoilers. Essentialy, the goal would be to make spoilers more sever further down in an article and mark the transition points clearly. If certain characters have major spoilers as part of their basic biography then thos could be saved for the very bottom. So Kuroka would for example not be mentioned and the entire Utsushikome biography would be written as if she didn't exist, but then all the way at the bottom there would be a revised biography. This kind of problem is especially potent for the character pages, which is why I see these two priorities as potentially intertwined. But as I said I have no experience, and I'm curious to know how spoilers are handled on other wikis, like the When They Cry wiki for example? --[[User:SilverHydra|SilverHydra]] ([[User talk:SilverHydra|talk]]) 23:27, 15 December 2023 (UTC) 6d04c31e37de4c7a2267a39acd3e408518c5b7bf 101 100 2023-12-16T01:20:17Z Azzi 8 /* Possible Category Structure */ new section wikitext text/x-wiki == Getting wiki off the ground == My minimal wiki experience is with editing content on pre existing wikis. Since [https://wiki.whentheycry.org/wiki/Main_Page When They Cry Wiki] is the Miraheze I'm most familiar with, I've been cribbing code from there. The interwiki prefix I've been using for XML import is <code>whentheycrywiki</code>. === Technical needs === * Enable [https://www.mediawiki.org/wiki/Help:Subpages subpages] to fix the CSS templates for the reference list and main article templates * Figure out how to mark for spoilers so that first time readers can still use this wiki as a reference. Possibly organize information by chapter? * Character page template * Formalizing stylistic conventions and formatting in general (trying very hard to match the capitalization in text rn) * Page categories === Ideas for wiki expansion === * Longer main articles for glossary entries * Create spoiler marked timeline * Link to [https://sekhmet.fun/ sekhmet.fun] * Chapter or story arc summaries? * Page for playwright & director rules * Page(s) for red and purple text What kinds of things does everybody want to see on the wiki? [[User:Systemzero|Systemzero]] ([[User talk:Systemzero|talk]]) 02:54, 15 December 2023 (UTC) === Thoughts on priorities === I don't have any experience editing wikis, but it seems to me that there's two main priorities: * Figuring out a spoiler warning system * Making a template for the character pages For the spoilers we could have a tiered spoiler system, marking some pages with "mild spoilers" and others with "major spoilers". We could maybe even mark each spoiler warning with the chapter number that a reader would need to reach before reading the article, though that seems like a lot of work. Another way would be to design a tiered spoiler warning system into the page layouts themselves. For example, the character pages could start with basic information, character description and a biography. Most of that would be light or medium spoilers. Then there could be a "in the story" section that's marked with more heavy spoilers. Essentialy, the goal would be to make spoilers more sever further down in an article and mark the transition points clearly. If certain characters have major spoilers as part of their basic biography then thos could be saved for the very bottom. So Kuroka would for example not be mentioned and the entire Utsushikome biography would be written as if she didn't exist, but then all the way at the bottom there would be a revised biography. This kind of problem is especially potent for the character pages, which is why I see these two priorities as potentially intertwined. But as I said I have no experience, and I'm curious to know how spoilers are handled on other wikis, like the When They Cry wiki for example? --[[User:SilverHydra|SilverHydra]] ([[User talk:SilverHydra|talk]]) 23:27, 15 December 2023 (UTC) == Possible Category Structure == Categories - Kind of basing this off of the When They Cry Wiki <big>Arcs</big><br> (Pages under Arcs)<br> -> Eternity<br> -> Mankind's Shining Future<br> -> Pilgrimage to the Deep<br> The Arc pages will have two primary sections, the first is an extremely barebones summary of what happens, and the 2nd is a list of new characters, locations, and concepts introduced. <big>Characters</big><br> (Pages under Characters)<br> -> Groups of characters such as the Exemplary Acolytes Class<br> (Pages under Exemplary Acolytes Class)<br> -> Utsushikome<br> -> Ran<br> -> Etc<br> -> Order of the Universal Panacea <br> -> Zeno<br> -> Etc<br> -> Side Characters (one page with all side characters listed, no subpages)<br> <big>Murder Speculation<big><br> -> Part 1 (A page with all red rules at the top, and then a list of links to individual locked room mysteries and other mysterious deaths)<br> -> Character's death<br> <big>Worldbuilding</big><br> -> Concepts<br> -> Arcana<br> -> Locations<br> -> Mimikos<br> -> Old Yru<br> Pretty self explanatory. <big>Open Questions</big><br> -> Eternity<br> -> Mankind's Shining Future<br> A community space where people can list open questions from Arcs (such as, in Mankind's Shining Future Utsushikome states that she somewhat knew Ptolema before attending class together 'because of their families'. This is literally never elaborated upon.) and then, in some kind of collapsible spoiler box, provide speculative answers. 76417a3a3a317025f556e5baedb958507cf63d0e Talk:Main Page 1 39 102 101 2023-12-16T01:20:53Z Azzi 8 /* Possible Category Structure */ wikitext text/x-wiki == Getting wiki off the ground == My minimal wiki experience is with editing content on pre existing wikis. Since [https://wiki.whentheycry.org/wiki/Main_Page When They Cry Wiki] is the Miraheze I'm most familiar with, I've been cribbing code from there. The interwiki prefix I've been using for XML import is <code>whentheycrywiki</code>. === Technical needs === * Enable [https://www.mediawiki.org/wiki/Help:Subpages subpages] to fix the CSS templates for the reference list and main article templates * Figure out how to mark for spoilers so that first time readers can still use this wiki as a reference. Possibly organize information by chapter? * Character page template * Formalizing stylistic conventions and formatting in general (trying very hard to match the capitalization in text rn) * Page categories === Ideas for wiki expansion === * Longer main articles for glossary entries * Create spoiler marked timeline * Link to [https://sekhmet.fun/ sekhmet.fun] * Chapter or story arc summaries? * Page for playwright & director rules * Page(s) for red and purple text What kinds of things does everybody want to see on the wiki? [[User:Systemzero|Systemzero]] ([[User talk:Systemzero|talk]]) 02:54, 15 December 2023 (UTC) === Thoughts on priorities === I don't have any experience editing wikis, but it seems to me that there's two main priorities: * Figuring out a spoiler warning system * Making a template for the character pages For the spoilers we could have a tiered spoiler system, marking some pages with "mild spoilers" and others with "major spoilers". We could maybe even mark each spoiler warning with the chapter number that a reader would need to reach before reading the article, though that seems like a lot of work. Another way would be to design a tiered spoiler warning system into the page layouts themselves. For example, the character pages could start with basic information, character description and a biography. Most of that would be light or medium spoilers. Then there could be a "in the story" section that's marked with more heavy spoilers. Essentialy, the goal would be to make spoilers more sever further down in an article and mark the transition points clearly. If certain characters have major spoilers as part of their basic biography then thos could be saved for the very bottom. So Kuroka would for example not be mentioned and the entire Utsushikome biography would be written as if she didn't exist, but then all the way at the bottom there would be a revised biography. This kind of problem is especially potent for the character pages, which is why I see these two priorities as potentially intertwined. But as I said I have no experience, and I'm curious to know how spoilers are handled on other wikis, like the When They Cry wiki for example? --[[User:SilverHydra|SilverHydra]] ([[User talk:SilverHydra|talk]]) 23:27, 15 December 2023 (UTC) == Possible Category Structure == Categories - Kind of basing this off of the When They Cry Wiki <big>Arcs</big><br> (Pages under Arcs)<br> -> Eternity<br> -> Mankind's Shining Future<br> -> Pilgrimage to the Deep<br> The Arc pages will have two primary sections, the first is an extremely barebones summary of what happens, and the 2nd is a list of new characters, locations, and concepts introduced. <big>Characters</big><br> (Pages under Characters)<br> -> Groups of characters such as the Exemplary Acolytes Class<br> (Pages under Exemplary Acolytes Class)<br> -> Utsushikome<br> -> Ran<br> -> Etc<br> -> Order of the Universal Panacea <br> -> Zeno<br> -> Etc<br> -> Side Characters (one page with all side characters listed, no subpages)<br> <big>Murder Speculation</big><br> -> Part 1 (A page with all red rules at the top, and then a list of links to individual locked room mysteries and other mysterious deaths)<br> -> Character's death<br> <big>Worldbuilding</big><br> -> Concepts<br> -> Arcana<br> -> Locations<br> -> Mimikos<br> -> Old Yru<br> Pretty self explanatory. <big>Open Questions</big><br> -> Eternity<br> -> Mankind's Shining Future<br> A community space where people can list open questions from Arcs (such as, in Mankind's Shining Future Utsushikome states that she somewhat knew Ptolema before attending class together 'because of their families'. This is literally never elaborated upon.) and then, in some kind of collapsible spoiler box, provide speculative answers. 48b1be3d50ac0b2861d202565dd1bc741b22244f 103 102 2023-12-16T01:25:10Z Azzi 8 /* Possible Category Structure */ wikitext text/x-wiki == Getting wiki off the ground == My minimal wiki experience is with editing content on pre existing wikis. Since [https://wiki.whentheycry.org/wiki/Main_Page When They Cry Wiki] is the Miraheze I'm most familiar with, I've been cribbing code from there. The interwiki prefix I've been using for XML import is <code>whentheycrywiki</code>. === Technical needs === * Enable [https://www.mediawiki.org/wiki/Help:Subpages subpages] to fix the CSS templates for the reference list and main article templates * Figure out how to mark for spoilers so that first time readers can still use this wiki as a reference. Possibly organize information by chapter? * Character page template * Formalizing stylistic conventions and formatting in general (trying very hard to match the capitalization in text rn) * Page categories === Ideas for wiki expansion === * Longer main articles for glossary entries * Create spoiler marked timeline * Link to [https://sekhmet.fun/ sekhmet.fun] * Chapter or story arc summaries? * Page for playwright & director rules * Page(s) for red and purple text What kinds of things does everybody want to see on the wiki? [[User:Systemzero|Systemzero]] ([[User talk:Systemzero|talk]]) 02:54, 15 December 2023 (UTC) === Thoughts on priorities === I don't have any experience editing wikis, but it seems to me that there's two main priorities: * Figuring out a spoiler warning system * Making a template for the character pages For the spoilers we could have a tiered spoiler system, marking some pages with "mild spoilers" and others with "major spoilers". We could maybe even mark each spoiler warning with the chapter number that a reader would need to reach before reading the article, though that seems like a lot of work. Another way would be to design a tiered spoiler warning system into the page layouts themselves. For example, the character pages could start with basic information, character description and a biography. Most of that would be light or medium spoilers. Then there could be a "in the story" section that's marked with more heavy spoilers. Essentialy, the goal would be to make spoilers more sever further down in an article and mark the transition points clearly. If certain characters have major spoilers as part of their basic biography then thos could be saved for the very bottom. So Kuroka would for example not be mentioned and the entire Utsushikome biography would be written as if she didn't exist, but then all the way at the bottom there would be a revised biography. This kind of problem is especially potent for the character pages, which is why I see these two priorities as potentially intertwined. But as I said I have no experience, and I'm curious to know how spoilers are handled on other wikis, like the When They Cry wiki for example? --[[User:SilverHydra|SilverHydra]] ([[User talk:SilverHydra|talk]]) 23:27, 15 December 2023 (UTC) == Possible Category Structure == Categories - Kind of basing this off of the When They Cry Wiki <big>Arcs</big><br> (Pages under Arcs)<br> -> Eternity<br> -> Mankind's Shining Future<br> -> Pilgrimage to the Deep<br> The Arc pages will have two primary sections, the first is an extremely barebones summary of what happens, and the 2nd is a list of new characters, locations, and concepts introduced. <big>Characters</big><br> (Pages under Characters)<br> -> Groups of characters such as the Exemplary Acolytes Class<br> (Pages under Exemplary Acolytes Class)<br> '' -> Utsushikome<br> -> Ran<br> -> Etc<br>'' -> Order of the Universal Panacea <br> (Pages under Order of the Universal Panacea)<br> '' -> Zeno<br> -> Etc<br>'' -> Side Characters (one page with all side characters listed, no subpages)<br> <big>Murder Speculation</big><br> -> Part 1 (A page with all red rules at the top, and then a list of links to individual locked room mysteries and other mysterious deaths)<br> -> Character's death<br> <big>Worldbuilding</big><br> -> Concepts<br> -> Arcana<br> -> Locations<br> -> Mimikos<br> -> Old Yru<br> Pretty self explanatory. <big>Open Questions</big><br> -> Eternity<br> -> Mankind's Shining Future<br> A community space where people can list open questions from Arcs (such as, in Mankind's Shining Future Utsushikome states that she somewhat knew Ptolema before attending class together 'because of their families'. This is literally never elaborated upon.) and then, in some kind of collapsible spoiler box, provide speculative answers. 1708d91cde3ca50abfb84b9bca9a50da178b8310 Linos of Melanthos 0 40 104 2023-12-16T03:39:07Z Jjjqance 5 Created page with "Linos of Melanthos is a member of the inner circle of the [[Order of the Universal Panacea]]. {| class="wikitable" style="float: right" ! colspan="2" | {{{subj|Linos of Melanthos}}} |- ! colspan="2" {{#if: {{{img|}}}||style="display: none"}} | [[File:{{{img|Linos.jpg}}}|200px]] |- {{#if: {{{img|}}}||style="display: none"}} | colspan="2" | <small>{{{capt|Linos of Melanthos}}}</small> |- ! colspan="2" | Attendee Information |- ! Role | {{{role|Order Master}}} |- ! Party |..." wikitext text/x-wiki Linos of Melanthos is a member of the inner circle of the [[Order of the Universal Panacea]]. {| class="wikitable" style="float: right" ! colspan="2" | {{{subj|Linos of Melanthos}}} |- ! colspan="2" {{#if: {{{img|}}}||style="display: none"}} | [[File:{{{img|Linos.jpg}}}|200px]] |- {{#if: {{{img|}}}||style="display: none"}} | colspan="2" | <small>{{{capt|Linos of Melanthos}}}</small> |- ! colspan="2" | Attendee Information |- ! Role | {{{role|Order Master}}} |- ! Party | {{{party|Inotian}}} |- ! Height | {{{height|5'6}}} |- {{#if: {{{died|}}}||style="display: none"}} ! Blood Type | {{{bloodtype|B-}}} |- ! Resistances | {{{resistances|AN}}} |- ! Culinary Notes | {{{culinary|Dislikes shellfish}}} |- ! Qualifications | {{{qual|Grandmaster of Transmutive Healing by Grand Alliance Accolade<br> First Chair Professor at the Altaian Institute for Arcane Transmutation and Synthesis}}} |- ! colspan="2" | Personal Information |- ! Relations | {{{relations|[[Theodoros of Melanthos]]}}} |- ! Aliases | {{{aliases|Linos the Deceiver}}} |} 67ca269d4c59ada0501de06202b29f52a8b26daf 105 104 2023-12-16T03:44:37Z 98.111.206.120 0 wikitext text/x-wiki Linos of Melanthos is a member of the inner circle of the [[Order of the Universal Panacea]]. {| class="wikitable" style="float: right" ! colspan="2" | {{{subj|Linos of Melanthos}}} |- ! colspan="2" {{#if: {{{img|}}}||style="display: none"}} | [[File:{{{img|Linos.jpg}}}|200px]] |- {{#if: {{{img|}}}||style="display: none"}} | colspan="2" | <small>{{{capt|Linos of Melanthos}}}</small> |- ! colspan="2" | Attendee Information |- ! Role | {{{role|Order Master}}} |- ! Party | {{{party|Inotian}}} |- ! Height | {{{height|5'6}}} |- {{#if: {{{died|}}}||style="display: none"}} ! Blood Type | {{{bloodtype|B-}}} |- ! Resistances | {{{resistances|AN}}} |- ! Culinary Notes | {{{culinary|Dislikes shellfish}}} |- ! Qualifications | {{{qual|Grandmaster of Transmutive Healing by Grand Alliance Accolade<br> First Chair Professor at the Altaian Institute for Arcane Transmutation and Synthesis}}} |- ! colspan="2" | Personal Information |- ! Relations | {{{relations|[[Theodoros of Melanthos]] (son)}}} |- ! Aliases | {{{aliases|Linos the Deceiver}}} |} 8ac0302e7f651b269799813b5b7a0b6b39ac7ff8 107 105 2023-12-16T04:12:02Z Systemzero 2 wikitext text/x-wiki Linos of Melanthos is a member of the inner circle of the [[Order of the Universal Panacea]]. {| class="wikitable" style="float: right" ! colspan="2" | {{{subj|Linos of Melanthos}}} |- ! colspan="2" {{#if: {{{img|}}}||style="display: none"}} | [[File:{{{img|Linos.jpg}}}|200px]] |- {{#if: {{{img|}}}||style="display: none"}} | colspan="2" | <small>{{{capt|Linos of Melanthos}}}</small> |- ! colspan="2" | Attendee Information |- ! Role | {{{role|Order Master}}} |- ! Party | {{{party|Inotian}}} |- ! Height | {{{height|5'6}}} |- {{#if: {{{died|}}}||style="display: none"}} ! Blood Type | {{{bloodtype|B-}}} |- ! Resistances | {{{resistances|AN}}} |- ! Culinary Notes | {{{culinary|Dislikes shellfish}}} |- ! Qualifications | {{{qual|Grandmaster of Transmutive Healing by Grand Alliance Accolade<br> First Chair Professor at the Altaian Institute for Arcane Transmutation and Synthesis}}} |- ! colspan="2" | Personal Information |- ! Relations | {{{relations|[[Theodoros of Melanthos]] (son)}}} |- ! Aliases | {{{aliases|Linos the Deceiver}}} |} [[Category:Inner Circle]] 82933f46a77e8f6cd89db329ea88cce0f4745d04 Glossary 0 9 106 97 2023-12-16T03:56:56Z Systemzero 2 Responsive headings, added links for future pages wikitext text/x-wiki ''Thank you for reading. If you are struggling to keep up with some of the language used in this narrative, then this glossary may be of some assistance to you. Though certain terms will be excluded until they become pertinent for the purposes of dramatic tension, please note that this may spoil some light setting-related exposition which will be revealed later.'' ---- === Arcana === A power created as a tool by the [[Ironworkers]] to assist in rebuilding the world. Sometimes referred to simply as the Power. Due to its complexity, practitioners (called '[[Arcanists|arcanists]]') are separated into numerous disciplines, which are in turn divided into schools, though it should be noted that these categories are social constructs with no inherent value. The most pertinent: ==== Aetheromancy ==== The study of utilizing arcana to manipulate space. ==== Alchemy ==== The study of utilizing arcana to create novel elements and substances, traditionally in medicine. ==== Anima Scripting ==== The study of utilizing arcana to manipulate the anima script, a biopolymer which determines the development of organisms. Because the subject of the discipline is proto-life rather than life outright, it is technically not a school of Biomancy, though this is the subject of some dispute within the academic community. ==== Biomancy ==== The study of utilizing arcana to manipulate biology. ==== Chronomancy ==== The study of utilizing arcana to manipulate time. ==== Divination ==== The study of utilizing arcana to assess information and predict events. ==== Egomancy ==== The study of utilizing arcana to alter the pneumaic nexus, the seat of human conciousness. Banned everywhere, save for the realms of the Uana. Archaically called Pneumancy. ==== Geomancy ==== The study of utilizing arcana to manipulate earth, the landscape, and most broadly the climate. ==== Golemancy ==== The study of utilizing arcana to create machines. ==== Metamancy ==== The study of using the Power to manipulate itself. A precursor to Egomancy, which itself was a precursor to Neuromancy. ==== Neuromancy ==== The study of utilizing arcana to manipulate the nervous system. Considered outside of Inotia and Ysara to be a mere school of Biomancy. ==== Pyromancy ==== The study of utilizing arcana to create manipulate and generate energy directly, often for destructive purposes. ==== Radiamancy ==== The study of using the Power to manipulate light. ==== Runescripting ==== Not technically a discipline, though often treated as such. The study of engraving incantations, as runes, into various objects. ==== Thanatomancy ==== The study of utilizing arcana to manipulate the process of death, or dead tissue. Archaically known as Necromancy. ==== Transmutation ==== The study of utilizing arcana to change the nature of objects or matter. Most commonly used for replication. === Artifice === An object or machine that requires the Power to function; for example, an arcane light. Can also be employed as a verb ('artificed') to refer to things merely created by the Power but not dependent upon it, such as construction materials and life brought about by Biomancy. === Assimilation Failure === A rare side-effect of Induction with an unclear cause. Rather than discarding the memories stored within the affixed [[Pneuma]], the mind instead fixates on or even centers them, beginning to transfer them to the conventional brain. In most cases, this has relatively minor effects, but occasionally can result in alterations to or even replacement of the sufferer's identity. The subject is taboo, with arcanists sworn to secrecy regarding it. ==== Acclimation Therapy ==== A well-tested treatment program designed to minimize or even erase the effects of Assimilation Failure using a combination of medication, thought exercises, behavioral adjustments, and ultimately electrotherapy. Almost always successful to some extent if approached in good faith, though controversy exists regarding when it transitions to being little more than brainwashing. ==== Witch ==== Slang term among arcanists for extreme sufferers of the condition, who fully conceive of themselves as people other than their original, physical selves. Almost all such individuals conceal this information, even from their loved ones. It's said to date from the Mourning Period, when the ailment was poorly understood. Newly-inducted arcanists appeared to simply go mad, using their new powers for wreak chaos and renouncing their former friends and family as if possessed by devils. === Civil Dispute === Often called the '''Ikkaryonic Revolution''' by the young. A civil conflict within the Grand Alliance that arose based on a decision by its Old Yru Convention to treat the Ikkaryon Provisional Government, who seized the city after the rulers horrifically mismanaged it during an outbreak of disease and subsequent famine, as a criminal enemy of the state and violators of the Covenant. It ultimately led to the most serious armed conflict in 200 years, involving most of the nations of the Elysian Pangaea, before finally being brought to the end by the Summer Compromise of 1388, which granted amnesty and concessions to the rebels and their allies. === Collapse === Shorthand for 'false vacuum collapse', a phenomenon of astrophysics where a lower minimum of energy in the vacuum is suddenly achieved, causing destabilization at a subatomic level which spreads at the speed of light until equilibrium is once again reached. Sometimes called 'decay' instead. Such an event was largely responsible for ending the Imperial Era and almost destroying human civilization, though there were also socioeconomic factors which radically impeded the response. === Covenant === Officially the "Covenant of the Mourning Realms". A set of oaths sworn upon by 6 of the Parties of survivors following the creation of the [[Mimikos]], designed to create a civilization that is sustainable in the long term in the new circumstances of humanity. Though largely considered unquestionable by the political mainstream, the interpretation of its tenants have become the subject of conflict, with broadly three schools of thought. ==== Fundamentalist ==== The belief that the tenants of the Covenant are absolute, and must be taken literally. After centuries of ideological dominance, its hegemony has been fractured in the aftermath of the Civil Dispute. ==== Interpretist ==== The belief that the tenants of the Covenant should be interpreted more liberally in accordance with the spirit in which they were written, often under the guidance of a secondary, longer document written by the Covenant's authors known as the Proclamation of Mankind's Future. An ascendant ideology. ==== Reformist ==== The belief that the tenants of the Covenant are flawed due to a lack of foresight by the authors and must be amended or abolished outright. Considered an extremist ideology, although relatively popular among the young. === Covenant Schism === A disagreement on the specifics of some of the Covenant's tenants between two Parties, the Lluatec and the Uana, and the other six. The result was that they did not settle the Mimikos, and follow a significantly different, and much briefer, version of the Covenant. Attempts have been made to mend this divide for centuries, with limited success. === Dementia === Shorthand for associative collapse-type dementia. A degenerative mental condition that is increasingly likely to occur in those older than 500, and especially 600 years. It is currently believed to be untreatable. With the exception of accidents, it is the most common cause of death in the civilized world. === Duumvirate === Shorthand for the Lluatec-Uana Duumvirate. A loose federation that oversees most of the states established by the Lluatec and Uana Parties, placing it in vague opposition to the Grand Alliance, though no hostilities have ever occurred. It dominates the [[Empyrean]] almost completely. === Era === A popular means of separating human history, based on broad trends in governmental development and the scope of human artifice. Scholars generally observe five distinct eras. ==== Primeval ==== The age between the earliest human settlements and the advent of complex societal organization and subsequent consolidation of power that would come to be defined as civilization. Comprised of small, relatively isolated communities. ==== Old Kingdoms ==== The earliest age of civilization, characterized by local centralization the beginnings of specialized labor, but limited trade and simple government still concentrated in fertile regions. ==== New Kingdoms ==== The first age conceived of as culturally sophisticated, characterized by much greater centralization and high levels of specialization, trade, and complex bureaucratic government. Civilization has now spread across the world, but remains fractious. ==== Imperial ==== The apex of civilization before the collapse of the old world, characterized by a smaller number of extremely complex and deeply interconnected states which largely no longer required human labor to function. The only era in which settlements beyond the Earth were constructed. ==== Covenant/Mourning ==== The contemporary era, for which disagreement on the name exists. === Empyrean === The area of space both physically and extra-planarly above the Mimikos, largely unused by the Ironworkers. It is home to a variety of experimental structures, many of which are habitable by humans, though to varying degrees of hospitality. === Epoch === An alternative means of categorizing broad ages of history from a more anthropological perspective, based on the dominant 'tool' utilized by human beings. Divided into four - Bone, Fire, Iron, and Arcane. === Exodus, The === The event wherein the eight Parties, following their awakening from their slumber within the Tower of Asphodel, were incarnated into either the Mimikos of the Empyrean. === Generation === An informal label given to individuals based on the century of their birth that has become a socially acceptable way to inquire as to someones approximate age. In the contemporary social climate, the 14th and 13th generations are considered young, the 12th and 11th mature, and the 10th and beyond elderly. This excludes the most recent generation, the 15th, of whom the eldest are only 9 years old. === Grand Alliance === Shorthand for the Grand Alliance of the Mourning Realms. A single pan-national government under which the nations of the Mimikos united following the virtual elimination of scarcity and the period of universal good relations and heightened diplomatic spirit that marked the end of the Interplanar Colonization Period. Governed by the Old Yru Convention, a council of elected leaders, bureaucrats and heads of state. === Great Lamp === An artificial sun created by the Ironworkers to service the Mimikos. It crosses the sky each day by means of a giant mechanical edifice, with an angle that changes depending on the season. === Great Work === A term dating back to ancient alchemy with a vague and often contextually-dependent meaning, but classically in reference to the pursuit of immortality or great scholarly achievements in service of that goal. In some traditions, the Great Work is also a spiritual transformation; the evolution of the self, or man's collective self, into a higher order of being. === Incantation === The words used to invoke a certain effect using the Power. Largely mathematical in nature, they are spoken in Eme, an ancient relative of modern Ysaran that has almost nothing in common with the contemporary language. They require extremely precise pronunciation and mathematics, or will fail - sometimes with spectacular consequences. === Index === The source of the Power. An extra-dimensional machine grafted to a Pneuma, allowing it to physically interact with the Higher Planes, moving energy and matter in manners that transcend the mundane. Each Index is unique, and there are a finite number (1,073,741,824) corresponding to different 'routes' by which the Higher Planes can be accessed, often possessing their own subtle traits which affect the casting of their bearer. If fire was the tool by which man began his dominance of nature, then an Index can be considered the terminus of that long quest; all that separates him from divine power is mastery. === Induction === Sometimes called an 'Initiation Ceremony.' A process which is required for a person to use the Power in the overwhelming majority of circumstances due to the trauma caused to the Pneuma as a result of the severance process designed by the Ironworkers. One of the immeasurable number of Pneuma stored within the Tower of Asphodel from those not fortunate enough to find direct shelter is affixed to the damaged root, allowing the subject to bear an Index. As the Pneuma is not a thing of flesh and blood, this addition is normally ignored by rest of the brain, the information within discarded and overwritten like a fleeting dream. === Iron === {{main|Iron}} A substance of incredible power that was harnessed in the New Kingdoms Era, and became the backbone of civilization, enabling the impossible glories of the Imperial Era. As it was used to construct the Tower of Asphodel and preserve reality, it can no longer truly exist in the material world, in much the same way that a box cannot contain itself. However, there are some minor exceptions. ==== False Iron ==== A shadow, or perhaps a simulacrum of iron, taken from the Tower of Asphodel as it exists in mundane reality. It is found underground in veins all over the Mimikos and the Lower Planes, and its connection to the Tower can never truly be severed. ==== True Iron ==== Found only within the bodies of human beings in tiny quantities as a matter of necessity. It is the product of a stable paradox. It becomes False Iron when it leaves the body, and vice-versa. === Ironworkers === {{main|Ironworkers}} The scholars who labored to rebuild reality while the Parties slept within the Tower of Asphodel. Masters of its use from the Imperial Era, they were still limited in their success, and only able to approximate the nature of the plane from inference and incomplete records. === Logic Bridge === {{main|Logic Bridge}} An interfacing tool used to connect the human mind to either other minds or objects via exercising the iron of the pneumaic nexus, and its connection to the Tower of Asphodel. In its most basic form, it consists of a piece of False Iron, a switch, and two polarized magnets. Can be used directly to facilitate awkward pseudo-telepathy, but a logic engine is required for translating more complex concepts. === Logic Engine === {{main|Logic Engine}} A machine used to perform reasoning. Most, but not all, interface with humans via logic bridges. Though logic engines can take many forms, the most common is the oscillatory logic engine, which utilizes microvibrations and extremely delicate machinery to store and process information, along with hydraulic power both to maintain its core tone and physically operate. Though much slower than minds and the iron-based logic engines of old, they are capable of incredible feats of parallel processing, rendering them able to perform mathematics and analysis beyond the scope of human ability. ==== Echo Maze ==== Properly called an Echo Labyrinth. A cube which stores information in its incredibly fine internal indentures. When sound passes through it, a logic engine can process the output as extremely specific information. The most common form of data storage in the present day by far. === Luxury Debt === A concept that has replaced currency since the advent of mass-duplication arcana destroyed the viability of a scarcity and labor-driven economy. Everyone receives trivially produced goods for free, but to procure something that is either abstract or cannot be duplicated and requires human labor, they must go into debt with the community. This must then be repaid either by community service, or producing something else of value to pass on the debt. Class disparity still exists, however, as it remains possible to amass disproportionate amounts of non-monetary resources for oneself or a company. === Mimikos, The === The final attempt of the Ironworkers to create a satisfactory replacement for the old world, and the home of the vast majority of living humans. It informally refers to both the structure itself, and the plane in which it was constructed. It is shaped like a giant, incredibly thick bowl, and derives its gravity from a combination of mass, horizontal, and vertical movement. It has three major landmasses. ==== Elysian Pangaea, The ==== A massive, vaguely crescent-shaped continent that comprises over 80% of the surface landmass. The coasts of the ocean within the crescent, the Mnemonic Sea, are the center of international civilization. ==== Inotian Archipelago ==== A large group of islands upon which the Inotian Party mainly settled. Though they comprise only around 1% of the land in the world, they are densely populated. ==== Orphaned Continent, The ==== A continent in the far north, famed for being relatively untamed. === Party === One of the eight groups that successfully took refuge within the Tower of Aspodel during the collapse of Imperial Era civilization. Each represents a distinct ethnic and cultural group. Some have 'legitimate' governments that can trace their leadership back to the Exodus, while others are the subject of more complicated divisions. The eight Parties are: The Ysaran, Inotian, Mekhian, Saoic, Rhunbardic, Viraaki, Lluateci, and Uana. ==== Ysaran ==== Considered the most politically influential party in the Grand Alliance, it originally settled the coasts of the Mnemonic Sea before splintering almost immediately due to a lack of clear leadership. Today, it is largely reunified under the Ysaran Accord, a democratic federation of nations, though the culturally distinct Asharomi cities and the nation of Ikkaryon remain separate. Its people generally have strong features and light-to-medium brown complexions, with a minority having darker brown. Ysaran (specifically, Towerward Ysaran) serves as the de-facto lingua franca of the modern world. They are famed for their grand architecture and their traditions of runework and Golemancy, with Ysaran mathematicians said to be the greatest in the world, though the Uana would disagree. ==== Inotian ==== Inversely, considered the most culturally influential party due to its history of seafaring and colonization. Though the most direct continuity of its pre-collapse government founded the Republic of Irenca on the Orphaned Continent, the majority of the party splintered to instead erect city-states on the islands of what is today called the Inotian Archipelago. Its people generally have very strong features and brassy complexions, with a minority being paler. They have a well-established scholarly tradition, with Inotian successfully outcome Mekhian as the language of science, and possess a particular bent towards philosophy. The greatest Diviners in the world, the Sibyls, are Inotian, though they are also responsible for the less prestigious discipline of Metamancy. ==== Mekhian ==== Historically non-interventionist yet arguably the most powerful party in an explicit, military-industrial sense, the Mekhians are the only group to have experienced no meaningful political fractures since the settling of the Mimikos. Their state, though heavily federated, consists of the entirety of the non-expatriate and non-expatriate descended population and spans almost the entire civilized east. Its people generally have medium to dark brown complexions and soft features. They also have a strong scholarly tradition, but with a more pragmatic character, and excel at civic management. During the Mourning Period, it was the global center of all arcane research, and its signature disciplines are Geomancy and Thanatomancy. ==== Saoic ==== Descended from a group of cultures which developed in partial isolation from the other Covenant signatories in the old world, the Saoic party settled the west of the continent, and today is divided into the Saoic Arcanoncracy, a bureaucratic dictatorship that is the last in the world governed by arcanists, and the much more liberal Dai League, comprised of various small nations with unique cultures. Its people have amber-to-pale complexions and very soft features. More than any other, Saoic culture has deeply internalized its grief for the old world, having an often solemn and mournful character that shuns excess. Despite this, its artistic and literary traditions are the most influential in the world. Ironically considering the government of the Arcanocracy, its accomplishments are more in conventional technology than arcana - though it is responsible for the artificing tradition of Alchemy and the obscure discipline of Radiamancy. ==== Rhunbardic ==== A warlike party which settled the plateau and steppes in the center of the continent, with the exception of the exile-realms of Umbrica and Turaggoth on the Orphaned Continent. Once, the Rhunbardic Empire ruled half of the Mourning Realms, but it was defeated at the climax of the Tricenturial War and became the much smaller Rhunbardic Kingdom, the last remaining monarchy (albeit a constitutional one) in the world. Its people have pale or sometimes very pale complexions, and features that vary from soft to mixed. Almost every aspect of Rhunbardic culture is militant - cities resemble fortresses, and roles for individuals are often strict and pre-defined. In terms of the Power, it is most known for its Pyromancy, though the much more esoteric tradition of Chronomancy is also found here. ==== Viraaki ==== A party that is widely considered a late-bloomer, having been weak and politically irrelevant for almost a millenia since it settled the jungles and mountains of the south, but now rapidly increasing its influence. Its political structure is unusual, with its disunited realms swearing technical fealty to its capital city-state, Sacred Vir, despite it holding very little practical power. By far the most powerful of these realms is the Exarchate of Palaat, a young nation that has grown rapidly since its founding during the Rhunbardic occupation. Its people have medium to dark brown complexions, but a very wide range of features. It is extremely famed for its Biomancy, which it even incorporates into architecture, and has begun to challenge Inotia and Sao for their cultural and artistic influence. ==== Lluateci ==== One of the two Duumvirate parties based in the Empyrean, they rejected the Covenant of the Mourning Realms and chose to settle smaller structures built by the Ironworkers to avoid open conflict, before ultimately consolidating into the six nations that exist today. They generally have soft features and medium to dark red-tinted complexions. Lluateci culture is hyper-liberal to the point that it can appear almost anarchic to outsiders, with tolerance for practices that would be outrageous elsewhere. Their signature discipline is Transmutation, a necessity for surviving in the void of space, though they are also known for their Arcane Engineering. ==== Uana ==== The second of the two Duumvirate parties based in the Empyrean, though in their case they remained mostly unified. A isolationist culture, the Uana scorn their bodies and the physical reality of the Mimikos as much as possible, choosing instead to interact through logic bridges; a device of their invention. Superficially, their structures appear utterly mercenary - little more than floating blocks of concrete with incredibly basic living quarters. Yet those few who have visited them describe their society within the artificed space as being an attempt to emulate the old world to a greater degree of fidelity than anywhere else. They are masters of Aetheromancy, and it is said they can bend space almost as well as the Iron Princes of the old world. === Period === A series of sub-classifications for periods of history within the current, post-Imperial era. ==== Mourning Period ==== A time of low-population and great cultural grief for the old world, dominated by the survivors of the event, when civilization was briefly much more primitive than prior ages, mankind not yet having mastered the Power as a replacement for iron. ==== First Resurrection ==== A renaissance characterized by a return to urban, centralized society and a resurgence in academic study, especially concerning arcana, resulting in the return of various amenities thought no longer possible without iron. A fleeting return of Imperial Era culture also occurs. ==== Interluminary Strife ==== A brief but calamitous period brought on by damage to the Great Lamp, depriving the world of sunlight. ==== Hollow Years ==== A dark age of slow recovery from the mass deaths of the previous period. ==== Second Resurrection ==== A renewed renaissance, though with a more culturally conservative character, characterized by the emergence of Covenant fundamentalism. This is considered to be the earliest era that remains in living memory outside of the anomalistically elderly. ==== Tricenturial War ==== A lengthy period of intermittent warfare between the Rhunbardic Empire and everyone else. Not actually three centuries long, despite the name. ==== Planar Colonization Period ==== A period of interest in cross-planar colonization and settlement, as well as interaction (and, ultimately, tension and conflict) with the native inhabitants. ==== Unending Peace, The ==== The contemporary age following the creation of the Grand Alliance. === Plane === An area of dimensionally and ruleset-consistent reality. Though the term theoretically applies to the millions of possible facets of the dimensional landscape in the universe, the more common use is in reference to the planes of the Tower of Asphodel, which all attempt at approximating the nature of mankind's long-gone original reality. A phrase often used to describe the latter in totality is the Remaining World. === Pneuma === An informal shorthand for the aspect of human brain which operates extradimensionally, a phenomena discovered at the end of the Imperial Era. Though originally arising entirely as a byproduct of biology,iIn the modern day, the process by which the Pneuma is intergrated with the mind must be facilitated artificially with an engineered organ known as the Pneumaic Nexus, and new ones pruned to prevent them from reconnecting with those belonging to their Seed. === Political Affiliation === Following the end of scarcity and the creation of the Grand Alliance, old political ideologies based around its management became inapplicable, becoming replaced by new variants focused on how society should encourage and reward participation and distribute political power. Often paired with the attitudes to the covenant listed above. For example, the political platform of the Grand Alliance is Humanist-Fundamentalist. ==== Humanism ==== The belief that the state should serve every human need it can accommodate without substantial cost unconditionally (generally considered to include unlimited food of reasonable quality, clothes, basic housing and entertainment, education, and essential medical care) but that beyond that internal disparity is acceptable and that luxury and political power should be afforded only as rewards for communal participation, defined broadly as the creation or facilitation of luxuries, or the fulfillment of the essential needs of the state. Considered by its advocates to be the only value system that properly reflects the tenants of the Covenant. ==== Meritism ==== The belief that the state should be obligated to provide only the barest essentials for human survival, and that all else must be earned either through either service to the community or personal entrepreneurship. It is conceptually rooted in the idea that human beings only thrive when forced into self-sufficiency, and that to offer too much for nothing, even when abundance permits it, fosters decadence. Many, however, accuse its advocates of more selfish motivations. ==== Paritism ==== The belief that the state should offer the people unconditional equality in the distribution of resources, regardless of contribution or personal background. Extremely popular among the young, who have suffered the brunt of widening generational inequality, but considered fringe outside of the global east. ==== Idealism ==== Sometimes defined as a subset of Meritism. The belief that the state should reward people neither universally nor on the basis of contribution, but rather by their degree of compliance with a set of national values or "ideals", usually moral in nature, but also often tied up in nationalism and religion. Extremists of this ideology are considered politically toxic and referred to as Iconists. === Prosognostic Event/Contact Paradox === {{main|Contact Paradox}} Two potential results of individuals born from the same seed from the Tower of Asphodel coming into contact with one another. The former, caused by merely witnessing a face that matches own self-conception, leads to severe seizure-like symptoms, but this is merely a defense mechanism against the latter. If the individuals touch, the iron in both of their bodies and the surrounding area is obliterated by a temporal paradox, causing the death of both and any bystanders within a few meters. === Refractor Rifle === A type of firearm which propels pure light energy through a series of filters which can be lowered at the discretion of the user to varying results, ranging from stunning organic targets (though not entirely safely) to melting anything up to and including metal and stone. Developed during the Great Interplanar War, it is beginning to show its age as technology, with armors capable of deflecting its shots at even the most potent settings supposedly in development. Many wait with baited breath for the next leap in non-arcane weapons technology. === Seed === The source body, stored within the Tower of Asphodel, from which a person is derived on a cellular level. They are derived from the original members of each of the eight Parties, coming to a total of around 100,000 in aggregate. === Tower of Asphodel === {{main|Tower of Asphodel}} The structure created by the Ironworkers at the end of the Imperial Era to provide refuge to those who could obtain it, and later to act as a foundation for the planes they would create. It is visible in the sky at all times, though it exists only partially as a physical object. 9437b46d08a722029bc791205349bbafd2252c92 Category:Inner Circle 14 41 108 2023-12-16T04:13:23Z Systemzero 2 Created page with "[[Category:Order of the Universal Panacea]]" wikitext text/x-wiki [[Category:Order of the Universal Panacea]] ac86432f6a12b59b6d6ae1b367628e0733c63719 Order of the Universal Panacea 0 42 109 2023-12-16T04:59:16Z Systemzero 2 Created page with "The '''Order of the Universal Panacea''' is an organization dedicated to the pursuit of immortality. It is housed in the [[Apsu|Sanctuary of Apsu]]. == Ranks == ===== Aspirants ===== Formally known as '''neophytes'''. Permits limited access to resources and attendance at a minority of meetings.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/597607/029-in-fading-image 029: In Fading Image (𒐄)]</ref> ===== Companion-Legionary ====..." wikitext text/x-wiki The '''Order of the Universal Panacea''' is an organization dedicated to the pursuit of immortality. It is housed in the [[Apsu|Sanctuary of Apsu]]. == Ranks == ===== Aspirants ===== Formally known as '''neophytes'''. Permits limited access to resources and attendance at a minority of meetings.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/597607/029-in-fading-image 029: In Fading Image (𒐄)]</ref> ===== Companion-Legionary ===== Conveys full membership. Traditionally bestowed after 25 years by Inner Circle vote. ===== Inner Circle ===== Formally known as the '''Discretionary Council'''. Six members who are de-facto leaders of the order. Position elected every 12 years. == History == The order was founded by [[Ubar of Kane]] during the First Resurrection.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom 015: Everblossom (𒐁)]</ref> He took understudies from various professions, including the physicist [[Saahdia ibnat Addad]].<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/681110/045-the-chosen-children 045: The Chosen Children (𒐅)]</ref> Her theory of the consciousness of entropy was influential in the order's later research. f629a55f35ed4f4e45727ef886e56160770044c3 Atelikos 0 37 110 95 2023-12-16T05:06:25Z Systemzero 2 Fixed link wikitext text/x-wiki The Atelikos is the second highest of [[the seven planes]] and the sixth attempt from the [[Ironworkers]] at recreating the physics and living conditions of [[the old world]]. The Atelikos is functionally complete and supports human civilisations, although it has far less surface area then the [[Mimikos]], both due to being physically smaller and being mostly covered in ocean. The headquarters of the [[Order of the Universal Panacea]] are located at the bottom of the northern Innocent Sea on the Atelikos [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The Atelikos is covered by 97% water, leaving very little land area for settlement [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. Most of the plane is composed of ocean that supports at least some large sea creatures [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/629273/033-profane-ambition]. The land is covered by [[Skia]], or shadow grass, a species of non iron-based grass common on the lower planes [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/464907/013-everblossom]. The shape of the Atelikos is an octagonal flat plate with a lamp rotating around it [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The flatness causes the gravity to be weaker than on the Mimikos [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/629273/033-profane-ambition]. The civilizations of the Atelikos were involved in [[the interplanar war]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/773743/065-power-of-the-gods] [[Lurina]] describes the Thyellikos in a discord post as follows: ''"Atelikos ("Unfinished World") - Shaped like plate with a tall rim. Mostly ocean, and the only world smaller than the one residing on the plane above it.'' c4b7601564f6b827734f90f8f10bd43f86f26ba6 Remaining World 0 29 111 75 2023-12-17T16:15:33Z Systemzero 2 Systemzero moved page [[The seven planes]] to [[Remaining World]]: More commonly used term wikitext text/x-wiki The planes are spaces of dimensionally and ruleset-consistent reality within the remaining world. Though the term theoretically applies to the millions of possible facets of the remaining world, the more common use is in reference to the seven planes of the [[Tower of Asphodel]] [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary], often depicted as stacked sequentally from the "bottom" towards the "top" of the tower [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting]. This is an accurate metaphor as they exist sequentially, but none of the planes are visible from any other planes and it's impossible to travel between planes using conventional travel. The seven planes come from the ironworkers' attempts at reconstructing the physics and living conditions of the old world in the restricted and alien conditions of the Tower of Asphodel [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467519/glossary][https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep]. Each of the seven planes represents an attempt, most of them being failures and not condusive to human habitation [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom]. The seven planes are, in order from lowest/oldest to highest/newest, [[Ergastrikos]], [[Paradoxikos]], [[Lavyrinthikos]], [[Thyellikos]], [[Diakos]], [[Atelikos]] and [[Mimikos]]. The space existing below the Ergastrikos is referred to as the [[Nadir]], and the space above the Mimikos is referred to as [[The Empyrean]]. [[File:The Planes 3.png|thumb|alt=Illustration of the seven planes stacked in order from lowest to highest.|The seven planes illustrated by community member SilverHydra]] 246c709948fdb3fce40479b820d64e46ab11a385 113 111 2023-12-17T18:29:02Z Systemzero 2 Complete overhaul of page wikitext text/x-wiki The '''Remaining World''' is the universe created [[Ironworkers]] as a new home for humanity after the [[Collapse|collapse]], severed from the [[Old world|old world]] in terms of space-time.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/648360/038-profane-ambition 038: Profane Ambition (𒐅)]</ref> It consists of the [[Tower of Asphodel]] and the planes it supports. == Cosmology == The planes are spaces of dimensionally and ruleset-consistent reality within the remaining world. Though the term theoretically applies to the millions of possible facets of the remaining world, the more common use is in reference to the seven planes of the Tower of Asphodel<ref>[[Glossary]]</ref>, often depicted as stacked sequentially from the "bottom" towards the "top" of the tower.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting 019: The Quest Unrelenting (𒐀)]</ref> This is an accurate metaphor as they exist sequentially, but none of the planes are visible from any other planes and it is impossible to travel between planes using conventional travel. == Mortal Planes == The Ironworkers made seven attempts to reconstruct the physics and living conditions of the old world in the restricted and alien conditions of the Tower of Asphodel. Each of the mortal planes represents an attempt, most of them being failures and not conducive to human habitation.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom 015: Everblossom (𒐁)]</ref> The mortal planes are, in order from lowest/oldest to highest/newest, the Ergastrikos, Paradoxikos, Lavyrinthikos, Thyellikos, Diakos, Atelikos and Mimikos. All planes below the Mimikos are known as the '''Lower Planes'''.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep 008: Pilgrimage to the Deep (𒐀)]</ref> The space existing below the Ergastrikos is referred to as the '''Nadir''', and the space above the Mimikos is referred to as the [[Empyrean]]. === Mimikos === The Mimikos is the highest plane of the Remaining World and the primary home of humanity.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/436845/003-mankinds-shining-future 003: Mankind's Shining Future (𒐁)]</ref> The term refers to both the plane itself and the planet. The Mimikos is roughly in the shape of a bowl contained within a stone-and-metal superstructure that also supports the [[Great Lamp]].<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep 008: Pilgrimage to the Deep (𒐀)]</ref> It is approximately 13,000 kilometers across. About 63% of its surface is covered by water.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom 015: Everblossom (𒐁)]</ref> The bowl of the Mimikos was settled by the six parties that accepted the [[Covenant]].<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/441024/004-mankinds-shining-future 004: Mankind's Shining Future (𒐂)]</ref> The two [[Duumvirate]] parties instead made their homes in smaller experimental habitats created by the Ironworkers in the Empyrean.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467002/014-everblossom 014: Everblossom (𒐀)]</ref> Travel between the Mimikos and the [[Empyrean]] is conducted by [[Aetherbridge]] [[Transposition|transpositioning]]. === Atelikos === The Atelikos is the second highest plane and the sixth attempt from the Ironworkers at recreating the physics and living conditions of the old world. The Atelikos is functionally complete and supports human civilizations, although it has far less surface area then the Mimikos, both due to being physically smaller and being mostly covered in ocean. The Atelikos is covered by 97% water, leaving very little land area for settlement.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom 015: Everblossom (𒐁)]</ref> Most of the plane is composed of ocean that supports at least some large sea creatures.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/629273/033-profane-ambition 033: Profane Ambition (𒐀)]</ref> The land is covered by [[Skia]], or shadow grass, a species of non iron-based grass common on the lower planes.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/464907/013-everblossom 013: Everblossom]</ref> The shape of the Atelikos is an octagonal flat plate with a lamp rotating around it. The flatness causes the gravity to be weaker than on the Mimikos. The civilizations of the Atelikos were involved in the [[Interplanar War]].<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/773743/065-power-of-the-gods 065: Power of the Gods]</ref> [[Lurina]] describes the Atelikos in a discord post as follows: ''"Atelikos ("Unfinished World") - Shaped like plate with a tall rim. Mostly ocean, and the only world smaller than the one residing on the plane above it.'' === Diakos === The Diakos is the third highest plane and the fifth attempt from the Ironworkers at recreating the physics and living conditions of the old world. The Diakos is notable as being the first of the planes capable of supporting life and the lowest plane with a permanent human population of a few million living in reservations.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/851634/080-justice-and-kindness 080: Justice and Kindness (𒐅)]</ref><ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1072732/107-until-nothing-remains 107: Until Nothing Remains (𒐀)]</ref> The physical world of the Diakos is a large ring world with an area ten times larger than that of the Mimikos covered in dense alien colored jungle. The flora and fauna of the Diakos was left to evolve on its own by the ironworkers and their biology is thus not iron based. This alien environment makes it physically difficult for residents of the Diakos to migrate to the higher planes and migrants require organ replacements. The civilizations of the Diakos were hit hard by the Interplanar War. Many atrocities were committed and the reservations on the Diakos now receive funding from the Mimikos as a form of compensation.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/773743/065-power-of-the-gods 065: Power of the Gods]</ref> Lurina describes the Diakos in a discord post as follows: ''"Diakos ("Crown World") A world shaped like a giant ring in orbit around a Great Lamp. Mostly jungle and full of life, but everything is incredibly alien."'' === Thyellikos === The Thyellikos, sometimes referred to as "The Tempest", is the fourth highest plane and the fourth attempt from the Ironworkers at recreating the physics and living conditions of the old world. The Thyellikos is described as being significantly bigger than the planes above it with the actual planets in the plane physically distant from the Tower of Asphodel.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting 019: The Quest Unrelenting (𒐀)]</ref> There is mentioned the possibility of "monsters" living in the Thyellikos. <ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/570921/025-in-fading-image 025: In Fading Image (𒐀)]</ref>. Lurina describes the Thyellikos in two discord posts as follows: ''"Thyellikos ("Storm World") A world that was originally supposed to be a giant sphere with the inhabitants living on the interior, it collapsed, resulting in a massive tempest with several pseudo-planetary bodies. Unlike higher planes, it used something closer to a normal star, which is now in an unstable state at the center."'' ''" ...the Thyellikos is meant to be somewhat more shattered and to have like, a big mess of circling gas and fire at the center."'' === Lavyrinthikos === The Lavyrinthikos is the fifth highest plane and the third attempt from the Ironworkers at recreating the physics and living conditions of the old world. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as [[Mahabaal]]. Lurina describes the Lavyrinkos in two discord posts as follows: ''"Lavyrinkos ("Labyrinth World") A world designed as a vast number of small demi-planes that were intended to interlink completely, creating the illusion of a discrete reality, it has now broken down its component parts, the connections between them shifting constantly. Incredibly diverse."'' ''"Regarding the Lavyrinkos... I'd probably imagined [it] as being represented as like... A cluster of tiny spheres linked together by lines..."'' === Paradoxikos === The Paradoxikos is the sixth highest plane and the second attempt from the Ironworkers at recreating the physics and living conditions of the old world. Lurina describes the Paradoxikos in a discord post as follows: ''"Paradoxikos ("Paradox World") An ambitious world designed to emulate reality experientially rather than foundationally, with a Moebius strip-like structure. A completely failed project in which time and space flow incoherently and in which nothing can survive."'' === Ergastrikos === The Ergastrikos is the lowest plane and the first attempt from the Ironworkers at recreating the physics and living conditions of the old world. Lurina describes the Ergastrikos in two discord posts as follows: ''"Ergastrikos ("Sandbox World") The first world created by the Ironworkers, it later served as a testing ground for their efforts. An infinite flat plane is littered with failed attempts at creating a conventional, spherical planet."'' ''"Regarding... the Esgastrikos, I'd probably imagined... [it] would probably be represented as just a flat platform at the base of the orrery. Maybe with some broken planets."'' [[File:The Planes 3.png|thumb|alt=Illustration of the seven planes stacked in order from lowest to highest.|The seven planes illustrated by community member SilverHydra]] 017dba8d4d60fbb6aa1d40ab7a7f2d288008fd66 114 113 2023-12-17T18:30:05Z Systemzero 2 Fixed formatting error wikitext text/x-wiki The '''Remaining World''' is the universe created [[Ironworkers]] as a new home for humanity after the [[Collapse|collapse]], severed from the [[Old world|old world]] in terms of space-time.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/648360/038-profane-ambition 038: Profane Ambition (𒐅)]</ref> It consists of the [[Tower of Asphodel]] and the planes it supports. == Cosmology == The planes are spaces of dimensionally and ruleset-consistent reality within the remaining world. Though the term theoretically applies to the millions of possible facets of the remaining world, the more common use is in reference to the seven planes of the Tower of Asphodel<ref>[[Glossary]]</ref>, often depicted as stacked sequentially from the "bottom" towards the "top" of the tower.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting 019: The Quest Unrelenting (𒐀)]</ref> This is an accurate metaphor as they exist sequentially, but none of the planes are visible from any other planes and it is impossible to travel between planes using conventional travel. == Mortal Planes == The Ironworkers made seven attempts to reconstruct the physics and living conditions of the old world in the restricted and alien conditions of the Tower of Asphodel. Each of the mortal planes represents an attempt, most of them being failures and not conducive to human habitation.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom 015: Everblossom (𒐁)]</ref> The mortal planes are, in order from lowest/oldest to highest/newest, the Ergastrikos, Paradoxikos, Lavyrinthikos, Thyellikos, Diakos, Atelikos and Mimikos. All planes below the Mimikos are known as the '''Lower Planes'''.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep 008: Pilgrimage to the Deep (𒐀)]</ref> The space existing below the Ergastrikos is referred to as the '''Nadir''', and the space above the Mimikos is referred to as the [[Empyrean]]. === Mimikos === The Mimikos is the highest plane of the Remaining World and the primary home of humanity.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/436845/003-mankinds-shining-future 003: Mankind's Shining Future (𒐁)]</ref> The term refers to both the plane itself and the planet. The Mimikos is roughly in the shape of a bowl contained within a stone-and-metal superstructure that also supports the [[Great Lamp]].<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep 008: Pilgrimage to the Deep (𒐀)]</ref> It is approximately 13,000 kilometers across. About 63% of its surface is covered by water.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom 015: Everblossom (𒐁)]</ref> The bowl of the Mimikos was settled by the six parties that accepted the [[Covenant]].<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/441024/004-mankinds-shining-future 004: Mankind's Shining Future (𒐂)]</ref> The two [[Duumvirate]] parties instead made their homes in smaller experimental habitats created by the Ironworkers in the Empyrean.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/467002/014-everblossom 014: Everblossom (𒐀)]</ref> Travel between the Mimikos and the [[Empyrean]] is conducted by [[Aetherbridge]] [[Transposition|transpositioning]]. === Atelikos === The Atelikos is the second highest plane and the sixth attempt from the Ironworkers at recreating the physics and living conditions of the old world. The Atelikos is functionally complete and supports human civilizations, although it has far less surface area then the Mimikos, both due to being physically smaller and being mostly covered in ocean. The Atelikos is covered by 97% water, leaving very little land area for settlement.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/468989/015-everblossom 015: Everblossom (𒐁)]</ref> Most of the plane is composed of ocean that supports at least some large sea creatures.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/629273/033-profane-ambition 033: Profane Ambition (𒐀)]</ref> The land is covered by [[Skia]], or shadow grass, a species of non iron-based grass common on the lower planes.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/464907/013-everblossom 013: Everblossom]</ref> The shape of the Atelikos is an octagonal flat plate with a lamp rotating around it. The flatness causes the gravity to be weaker than on the Mimikos. The civilizations of the Atelikos were involved in the [[Interplanar War]].<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/773743/065-power-of-the-gods 065: Power of the Gods]</ref> [[Lurina]] describes the Atelikos in a discord post as follows: ''"Atelikos ("Unfinished World") - Shaped like plate with a tall rim. Mostly ocean, and the only world smaller than the one residing on the plane above it.'' === Diakos === The Diakos is the third highest plane and the fifth attempt from the Ironworkers at recreating the physics and living conditions of the old world. The Diakos is notable as being the first of the planes capable of supporting life and the lowest plane with a permanent human population of a few million living in reservations.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/851634/080-justice-and-kindness 080: Justice and Kindness (𒐅)]</ref><ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1072732/107-until-nothing-remains 107: Until Nothing Remains (𒐀)]</ref> The physical world of the Diakos is a large ring world with an area ten times larger than that of the Mimikos covered in dense alien colored jungle. The flora and fauna of the Diakos was left to evolve on its own by the ironworkers and their biology is thus not iron based. This alien environment makes it physically difficult for residents of the Diakos to migrate to the higher planes and migrants require organ replacements. The civilizations of the Diakos were hit hard by the Interplanar War. Many atrocities were committed and the reservations on the Diakos now receive funding from the Mimikos as a form of compensation.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/773743/065-power-of-the-gods 065: Power of the Gods]</ref> Lurina describes the Diakos in a discord post as follows: ''"Diakos ("Crown World") A world shaped like a giant ring in orbit around a Great Lamp. Mostly jungle and full of life, but everything is incredibly alien."'' === Thyellikos === The Thyellikos, sometimes referred to as "The Tempest", is the fourth highest plane and the fourth attempt from the Ironworkers at recreating the physics and living conditions of the old world. The Thyellikos is described as being significantly bigger than the planes above it with the actual planets in the plane physically distant from the Tower of Asphodel.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting 019: The Quest Unrelenting (𒐀)]</ref> There is mentioned the possibility of "monsters" living in the Thyellikos.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/570921/025-in-fading-image 025: In Fading Image (𒐀)]</ref> Lurina describes the Thyellikos in two discord posts as follows: ''"Thyellikos ("Storm World") A world that was originally supposed to be a giant sphere with the inhabitants living on the interior, it collapsed, resulting in a massive tempest with several pseudo-planetary bodies. Unlike higher planes, it used something closer to a normal star, which is now in an unstable state at the center."'' ''" ...the Thyellikos is meant to be somewhat more shattered and to have like, a big mess of circling gas and fire at the center."'' === Lavyrinthikos === The Lavyrinthikos is the fifth highest plane and the third attempt from the Ironworkers at recreating the physics and living conditions of the old world. The Lavyrinthikos is not settled by humans, but is visited by explorers of the lower planes, such as [[Mahabaal]]. Lurina describes the Lavyrinkos in two discord posts as follows: ''"Lavyrinkos ("Labyrinth World") A world designed as a vast number of small demi-planes that were intended to interlink completely, creating the illusion of a discrete reality, it has now broken down its component parts, the connections between them shifting constantly. Incredibly diverse."'' ''"Regarding the Lavyrinkos... I'd probably imagined [it] as being represented as like... A cluster of tiny spheres linked together by lines..."'' === Paradoxikos === The Paradoxikos is the sixth highest plane and the second attempt from the Ironworkers at recreating the physics and living conditions of the old world. Lurina describes the Paradoxikos in a discord post as follows: ''"Paradoxikos ("Paradox World") An ambitious world designed to emulate reality experientially rather than foundationally, with a Moebius strip-like structure. A completely failed project in which time and space flow incoherently and in which nothing can survive."'' === Ergastrikos === The Ergastrikos is the lowest plane and the first attempt from the Ironworkers at recreating the physics and living conditions of the old world. Lurina describes the Ergastrikos in two discord posts as follows: ''"Ergastrikos ("Sandbox World") The first world created by the Ironworkers, it later served as a testing ground for their efforts. An infinite flat plane is littered with failed attempts at creating a conventional, spherical planet."'' ''"Regarding... the Esgastrikos, I'd probably imagined... [it] would probably be represented as just a flat platform at the base of the orrery. Maybe with some broken planets."'' [[File:The Planes 3.png|thumb|alt=Illustration of the seven planes stacked in order from lowest to highest.|The seven planes illustrated by community member SilverHydra]] c6bd166206fce1ce15ce21db10f12507239681ac The seven planes 0 43 112 2023-12-17T16:15:33Z Systemzero 2 Systemzero moved page [[The seven planes]] to [[Remaining World]]: More commonly used term wikitext text/x-wiki #REDIRECT [[Remaining World]] 0153a71ebc8910bc8bcc21b0129653b6db06130f Arcana 0 44 115 2023-12-17T20:12:57Z SilverHydra 7 Created page with "Arcana is a power created as a tool by [[the Ironworkers]] to assist in rebuilding the world. Sometimes referred to simply as the Power. Arcana can also refer to individual incantations, spells or techniques employing the power. An object utilising the Power or dreated by it is referred to as a Artifice. Practitioners of the Power are called Arcanists. Being an Arcanist requires skill, training and, in most cases, an induction procedure. Due to its complexity, arcanists..." wikitext text/x-wiki Arcana is a power created as a tool by [[the Ironworkers]] to assist in rebuilding the world. Sometimes referred to simply as the Power. Arcana can also refer to individual incantations, spells or techniques employing the power. An object utilising the Power or dreated by it is referred to as a Artifice. Practitioners of the Power are called Arcanists. Being an Arcanist requires skill, training and, in most cases, an induction procedure. Due to its complexity, arcanists are separated into disciplines, which are in turn divided into schools, though it should be noted that these categories are social constructs with no inherent value. ==Disciplines and Schools== ===Aetheromancy=== The study of utilizing arcana to manipulate space. ===Alchemy=== The study of utilizing arcana to create novel elements and substances, traditionally in medicine. ===Anima Scripting=== The study of utilizing arcana to manipulate the anima script, a biopolymer which determines the development of organisms. Because the subject of the discipline is proto-life rather than life outright, it is technically not a school of Biomancy, though this is the subject of some dispute within the academic community. ===Biomancy=== The study of utilizing arcana to manipulate biology. ===Chronomancy=== The study of utilizing arcana to manipulate time. ===Divination=== The study of utilizing arcana to assess information and predict events. ===Egomancy=== The study of utilizing arcana to alter the pneumaic nexus, the seat of human conciousness. Banned everywhere, save for the realms of the Uana. Archaically called Pneumancy. ===Geomancy=== The study of utilizing arcana to manipulate earth, the landscape, and most broadly the climate. ===Golemancy=== The study of utilizing arcana to create machines. ===Metamancy=== The study of using the Power to manipulate itself. A precursor to Egomancy, which itself was a precursor to Neuromancy. ===Neuromancy=== The study of utilizing arcana to manipulate the nervous system. Considered outside of Inotia and Ysara to be a mere school of Biomancy. ===Pyromancy=== The study of utilizing arcana to create manipulate and generate energy directly, often for destructive purposes. ===Radiamancy=== The study of using the Power to manipulate light. ===Runescripting=== Not technically a discipline, though often treated as such. The study of engraving incantations, as runes, into various objects. ===Thanatomancy=== The study of utilizing arcana to manipulate the process of death, or dead tissue. Archaically known as Necromancy. ===Transmutation=== The study of utilizing arcana to change the nature of objects or matter. Most commonly used for replication. =List of arcana= {| class="wikitable sortable" ! Arcana !! Script !! First mention |- | Life Slaying || "...𒋤𒋛𒄭𒂗𒌷𒈿𒇲𒄴!” || 2 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/435882/002-mankinds-shining-future] |- | Entropy Denying || "...(𒌍𒌷𒀭)(𒌍𒁁𒀭)𒅥𒌈𒆜𒈣𒂠, 𒋢𒀀𒅆𒌫𒃶,𒈬𒊹." || 5 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/442370/005-mankinds-shining-future] |- | Matter Suspending || || 5 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/442370/005-mankinds-shining-future] |- | Mass Nullifying || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Friction Denying || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Pressure Manipulating || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Flesh Animating || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Pressure Denying || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | World Bending || "...𒉎𒁁𒅈𒆜𒆪𒊓𒆤𒂍,𒋫𒇲𒇻𒀀𒅋𒌫𒍑,𒍝𒍝𒍝,𒅥𒁲𒀩𒌋,𒌦𒊹" || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Negenthropic Resuscitating || || 10 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/456544/010-pilgrimage-to-the-deep] |- | Anomaly Divining || "...𒈣𒄀𒌈𒀭𒊍. (𒌍𒍣𒍥𒊒𒊬𒉌𒌫𒐼). 𒄭𒌋𒌋𒌋𒌋, 𒊹..." || 12 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/461381/012-pilgrimage-to-the-deep] |- | Time Inferring || || 12 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/461381/012-pilgrimage-to-the-deep] |- | Planar Cutting || || 13 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/464907/013-everblossom] |- | Anatomy Beguiling || "...𒊬𒃶𒋾𒄿𒄿,𒀀𒄀...." "...𒀭𒂗𒊬𒃶𒋾𒄿𒄿,𒀀𒄀...." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Matter Shifting || ".... 𒄭𒅗𒈣𒈣𒁹𒁺...." "....𒉈𒆠𒆷𒉌𒍣, 𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Matter Annihilating || "....𒉈𒆠𒍥𒆤, 𒀉𒌍𒌍𒀭𒌓. 𒊹. || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Air Thrusting || "...𒁺𒂷𒉘𒄴, 𒊌𒀾𒅇𒄿, 𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Motion Beguiling || "...𒄴𒄠/𒂔𒄴𒋤𒅆𒍣𒃶𒄖𒐊𒐊. 𒂵𒀀𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Light Warping || " ...𒀀𒊌𒋛𒊬𒆕𒆠𒄩, 𒌈𒀊𒂠𒄭, 𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Death Sensing || "...𒍣𒍣𒁺𒋼𒉌𒌈𒀭𒋫𒂊𒌍𒁹𒐊𒐊𒐊𒊹!" || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | World Deafening || "...𒀉𒈾𒄿𒄿, 𒄷𒈾𒀀𒇉𒅋𒀝𒅈𒋜𒆕𒊹. || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Entropy Accelerating || "....𒋜,𒌅𒋫,𒅥𒌈𒆜𒈣𒂠, 𒋢𒀀𒅆𒌫𒃶,𒈬𒊹!" || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Entropy Reversing || "...𒆠𒈪,𒌷𒌷,𒀭𒊩𒌆𒅅,𒋢𒀀𒅆𒌫𒃶,𒈬,𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Senolyte Slaying || || 19 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting] |- | Anatomy-Motion-Neurology Beguiling || "...𒊬𒃶𒋾𒄴𒄠/𒂔𒄴𒋤𒅆𒍣𒃶𒄖𒐊𒐊,𒄀𒈣𒊑𒅘..." || 20 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/528905/020-the-quest-unrelenting] |- | Vitality Percieving || || 20 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/528905/020-the-quest-unrelenting] |- | Form Levitating || || 24 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/569067/024-in-fading-image] |- | Form Chronicling || " ...𒈪𒊑𒉌𒈬,𒉘𒄴𒌓𒐊𒐊𒐊𒐊, 𒅎 𒍥𒁍𒊹." || 24 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/569067/024-in-fading-image] |- | Time Reversing || || 25 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/570921/025-in-fading-image] |- | Hive Conceptualizing || "...𒊌𒅎𒀉𒌫𒀊, 𒀭𒀉𒃶𒐊𒐊𒄀𒁍𒊹." || 26 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/575766/026-in-fading-image] |- | Matter Unfurling || "...𒅆𒅆𒊑𒃶𒈿,𒌍𒌍,𒀸𒍣𒊺𒄷𒊹." || 26 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/575766/026-in-fading-image] |- | Impulse Transmitting || || 36 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/640735/036-profane-ambition] |- | Neurology Beguiling || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Time Stopping || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Matter Repulsing || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Anomaly Denying || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Object Manipulating || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Biomatter Warping || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Life Sensing || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Iron Toning || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Flame Summoning || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Flesh Weaving || || 43 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/668921/043-the-chosen-children] |- | Energy Nullifying Projecting || "...𒁽𒅅𒈪𒈪𒀩𒀖𒂊, 𒄿𒄿𒄿𒂷𒌍𒀾𒄷𒌫𒄀𒊹.𒁺." || 49 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/696447/049-the-die-falls] |- | Matter Replicating || "𒈪𒊬𒄴𒌔𒁺𒄀𒈬𒉺, 𒌷𒊓𒊒𒄷𒍣𒆭𒌍𒀸𒄿𒄿𒊹." || 51 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/704282/051-the-die-falls] |- | Moment Emulating || || 52 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/708322/052-the-die-falls] |- | Energy Nullifying || || 54 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/716832/054-the-die-falls] |- | Negentropic Interfacing || || 68 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/788908/068-power-of-the-gods] |- | Phantasm Projecting || || 77 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/837064/077-justice-and-kindness] |- | Sound Echoing || || 79 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/846869/079-justice-and-kindness] |- | Matter Refracting || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Neuromagnetic Shielding || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Particle Striking || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | The Sun Crown || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Matter Unbinding || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Sensory Transmitting || || 86 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/896019/086-split-body] |- | Matter Mapping || || 91 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/928201/091-split-body] |- | Nerve Depressing || || 93 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/942973/093-everyone-dies] |- | Matter Sensing || || 107 [https://sekhmet.fun/search?q=matter+sensing] |- | Energy Piercing || || 108 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1085185/108-until-nothing-remains] |- | Cell Discerning || || 112 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1127003/112-until-nothing-remains] |- | Lethe Flowing || || 114 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1156590/114-until-nothing-remains] |- | Matter Gathering || || 117 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1222171/117-until-nothing-remains] |- | Matter Carving || || 122 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1294122/122-utsushikome-and-the-demon] |- | Time Decelerating || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Matter Liquefying || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Wind Striking || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Air Compressing || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Voice Carrying || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Biochemical Trancing || || 124 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1320883/124-utsushikome-and-the-demon] |- | Time Slowing || || 124 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1320883/124-utsushikome-and-the-demon] |- | Bacteria Springing || || 124 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1320883/124-utsushikome-and-the-demon] |- | Matter Solidifying || || 129 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1369743/129-got-away-with-it] |- | Object Replicating || || 129 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1369743/129-got-away-with-it] |- | Pattern Replicating || || 129 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1369743/129-got-away-with-it] |} 76c7cd96a28fa5ff9607616cbf00cae496379033 116 115 2023-12-17T22:30:42Z Systemzero 2 Style adjustments, fixed links, corrected typo wikitext text/x-wiki '''Arcana''' is a power created as a tool by the [[Ironworkers]] to assist in rebuilding the world. Sometimes referred to simply as the Power. Arcana can also refer to individual incantations, spells or techniques employing the power. An object utilising the Power or treated by it is referred to as a Artifice. Practitioners of the Power are called [[Arcanists|arcanists]]. Being an arcanist requires skill, training and, in most cases, an induction procedure. Due to its complexity, arcanists are separated into disciplines, which are in turn divided into schools, though it should be noted that these categories are social constructs with no inherent value. ==Disciplines and Schools== ===Aetheromancy=== The study of utilizing arcana to manipulate space. ===Alchemy=== The study of utilizing arcana to create novel elements and substances, traditionally in medicine. ===Anima Scripting=== The study of utilizing arcana to manipulate the anima script, a biopolymer which determines the development of organisms. Because the subject of the discipline is proto-life rather than life outright, it is technically not a school of Biomancy, though this is the subject of some dispute within the academic community. ===Biomancy=== The study of utilizing arcana to manipulate biology. ===Chronomancy=== The study of utilizing arcana to manipulate time. ===Divination=== The study of utilizing arcana to assess information and predict events. ===Egomancy=== The study of utilizing arcana to alter the pneumaic nexus, the seat of human conciousness. Banned everywhere, save for the realms of the Uana. Archaically called Pneumancy. ===Geomancy=== The study of utilizing arcana to manipulate earth, the landscape, and most broadly the climate. ===Golemancy=== The study of utilizing arcana to create machines. ===Metamancy=== The study of using the Power to manipulate itself. A precursor to Egomancy, which itself was a precursor to Neuromancy. ===Neuromancy=== The study of utilizing arcana to manipulate the nervous system. Considered outside of Inotia and Ysara to be a mere school of Biomancy. ===Pyromancy=== The study of utilizing arcana to create manipulate and generate energy directly, often for destructive purposes. ===Radiamancy=== The study of using the Power to manipulate light. ===Runescripting=== Not technically a discipline, though often treated as such. The study of engraving incantations, as runes, into various objects. ===Thanatomancy=== The study of utilizing arcana to manipulate the process of death, or dead tissue. Archaically known as Necromancy. ===Transmutation=== The study of utilizing arcana to change the nature of objects or matter. Most commonly used for replication. =List of arcana= {| class="wikitable sortable" ! Arcana !! Script !! First mention |- | Life Slaying || "...𒋤𒋛𒄭𒂗𒌷𒈿𒇲𒄴!” || 2 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/435882/002-mankinds-shining-future] |- | Entropy Denying || "...(𒌍𒌷𒀭)(𒌍𒁁𒀭)𒅥𒌈𒆜𒈣𒂠, 𒋢𒀀𒅆𒌫𒃶,𒈬𒊹." || 5 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/442370/005-mankinds-shining-future] |- | Matter Suspending || || 5 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/442370/005-mankinds-shining-future] |- | Mass Nullifying || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Friction Denying || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Pressure Manipulating || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Flesh Animating || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Pressure Denying || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | World Bending || "...𒉎𒁁𒅈𒆜𒆪𒊓𒆤𒂍,𒋫𒇲𒇻𒀀𒅋𒌫𒍑,𒍝𒍝𒍝,𒅥𒁲𒀩𒌋,𒌦𒊹" || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Negenthropic Resuscitating || || 10 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/456544/010-pilgrimage-to-the-deep] |- | Anomaly Divining || "...𒈣𒄀𒌈𒀭𒊍. (𒌍𒍣𒍥𒊒𒊬𒉌𒌫𒐼). 𒄭𒌋𒌋𒌋𒌋, 𒊹..." || 12 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/461381/012-pilgrimage-to-the-deep] |- | Time Inferring || || 12 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/461381/012-pilgrimage-to-the-deep] |- | Planar Cutting || || 13 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/464907/013-everblossom] |- | Anatomy Beguiling || "...𒊬𒃶𒋾𒄿𒄿,𒀀𒄀...." "...𒀭𒂗𒊬𒃶𒋾𒄿𒄿,𒀀𒄀...." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Matter Shifting || ".... 𒄭𒅗𒈣𒈣𒁹𒁺...." "....𒉈𒆠𒆷𒉌𒍣, 𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Matter Annihilating || "....𒉈𒆠𒍥𒆤, 𒀉𒌍𒌍𒀭𒌓. 𒊹. || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Air Thrusting || "...𒁺𒂷𒉘𒄴, 𒊌𒀾𒅇𒄿, 𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Motion Beguiling || "...𒄴𒄠/𒂔𒄴𒋤𒅆𒍣𒃶𒄖𒐊𒐊. 𒂵𒀀𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Light Warping || " ...𒀀𒊌𒋛𒊬𒆕𒆠𒄩, 𒌈𒀊𒂠𒄭, 𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Death Sensing || "...𒍣𒍣𒁺𒋼𒉌𒌈𒀭𒋫𒂊𒌍𒁹𒐊𒐊𒐊𒊹!" || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | World Deafening || "...𒀉𒈾𒄿𒄿, 𒄷𒈾𒀀𒇉𒅋𒀝𒅈𒋜𒆕𒊹. || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Entropy Accelerating || "....𒋜,𒌅𒋫,𒅥𒌈𒆜𒈣𒂠, 𒋢𒀀𒅆𒌫𒃶,𒈬𒊹!" || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Entropy Reversing || "...𒆠𒈪,𒌷𒌷,𒀭𒊩𒌆𒅅,𒋢𒀀𒅆𒌫𒃶,𒈬,𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Senolyte Slaying || || 19 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting] |- | Anatomy-Motion-Neurology Beguiling || "...𒊬𒃶𒋾𒄴𒄠/𒂔𒄴𒋤𒅆𒍣𒃶𒄖𒐊𒐊,𒄀𒈣𒊑𒅘..." || 20 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/528905/020-the-quest-unrelenting] |- | Vitality Percieving || || 20 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/528905/020-the-quest-unrelenting] |- | Form Levitating || || 24 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/569067/024-in-fading-image] |- | Form Chronicling || " ...𒈪𒊑𒉌𒈬,𒉘𒄴𒌓𒐊𒐊𒐊𒐊, 𒅎 𒍥𒁍𒊹." || 24 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/569067/024-in-fading-image] |- | Time Reversing || || 25 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/570921/025-in-fading-image] |- | Hive Conceptualizing || "...𒊌𒅎𒀉𒌫𒀊, 𒀭𒀉𒃶𒐊𒐊𒄀𒁍𒊹." || 26 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/575766/026-in-fading-image] |- | Matter Unfurling || "...𒅆𒅆𒊑𒃶𒈿,𒌍𒌍,𒀸𒍣𒊺𒄷𒊹." || 26 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/575766/026-in-fading-image] |- | Impulse Transmitting || || 36 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/640735/036-profane-ambition] |- | Neurology Beguiling || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Time Stopping || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Matter Repulsing || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Anomaly Denying || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Object Manipulating || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Biomatter Warping || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Life Sensing || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Iron Toning || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Flame Summoning || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Flesh Weaving || || 43 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/668921/043-the-chosen-children] |- | Energy Nullifying Projecting || "...𒁽𒅅𒈪𒈪𒀩𒀖𒂊, 𒄿𒄿𒄿𒂷𒌍𒀾𒄷𒌫𒄀𒊹.𒁺." || 49 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/696447/049-the-die-falls] |- | Matter Replicating || "𒈪𒊬𒄴𒌔𒁺𒄀𒈬𒉺, 𒌷𒊓𒊒𒄷𒍣𒆭𒌍𒀸𒄿𒄿𒊹." || 51 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/704282/051-the-die-falls] |- | Moment Emulating || || 52 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/708322/052-the-die-falls] |- | Energy Nullifying || || 54 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/716832/054-the-die-falls] |- | Negentropic Interfacing || || 68 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/788908/068-power-of-the-gods] |- | Phantasm Projecting || || 77 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/837064/077-justice-and-kindness] |- | Sound Echoing || || 79 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/846869/079-justice-and-kindness] |- | Matter Refracting || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Neuromagnetic Shielding || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Particle Striking || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | The Sun Crown || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Matter Unbinding || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Sensory Transmitting || || 86 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/896019/086-split-body] |- | Matter Mapping || || 91 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/928201/091-split-body] |- | Nerve Depressing || || 93 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/942973/093-everyone-dies] |- | Matter Sensing || || 107 [https://sekhmet.fun/search?q=matter+sensing] |- | Energy Piercing || || 108 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1085185/108-until-nothing-remains] |- | Cell Discerning || || 112 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1127003/112-until-nothing-remains] |- | Lethe Flowing || || 114 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1156590/114-until-nothing-remains] |- | Matter Gathering || || 117 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1222171/117-until-nothing-remains] |- | Matter Carving || || 122 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1294122/122-utsushikome-and-the-demon] |- | Time Decelerating || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Matter Liquefying || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Wind Striking || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Air Compressing || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Voice Carrying || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Biochemical Trancing || || 124 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1320883/124-utsushikome-and-the-demon] |- | Time Slowing || || 124 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1320883/124-utsushikome-and-the-demon] |- | Bacteria Springing || || 124 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1320883/124-utsushikome-and-the-demon] |- | Matter Solidifying || || 129 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1369743/129-got-away-with-it] |- | Object Replicating || || 129 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1369743/129-got-away-with-it] |- | Pattern Replicating || || 129 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1369743/129-got-away-with-it] |} f6b8b28192041d5471965cca1fc24e97e4d166e2 117 116 2023-12-19T18:35:07Z Systemzero 2 wikitext text/x-wiki '''Arcana''' is a power created as a tool by the [[Ironworkers]] to assist in rebuilding the world. Sometimes referred to simply as the Power. Arcana can also refer to individual incantations, spells or techniques employing the power. An object utilising the Power or treated by it is referred to as a Artifice. Practitioners of the Power are called [[Arcanists|arcanists]]. Being an arcanist requires skill, training and, in most cases, an induction procedure. == Arcane resistances == The Ironworkers designed the Power to resist violent applications against human beings.<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom 017: Everblossom (𒐃)]</ref> Unable to devise a single test to reliably identify humans, they settled upon three strict tests for which only one needs to be passed. Disabling resistances is a common strategy in arcanic combat. Lacking the resistances also makes direct arcane medical intervention possible. Resistances are recorded on documentation as AMN, with missing resistances omitted and compromised resistances indicated with a parenthesis. === Anatomical test === ''Is the target shaped like a person, externally and, to a lesser extent, internally?'' Can be failed through having missing or damaged limbs and organs, or unusual proportions. === Motion test === ''Are the fluids and soft tissue of the target moving like that of a person?'' Typically failed by those with circulatory conditions or those born in the Lower Planes. === Neurological test === Least likely to fail. Those with dementia, severe head wounds, and rare developmental disorders tend to misidentified. ==Disciplines and Schools== Due to its complexity, arcanists are separated into disciplines, which are in turn divided into schools, though it should be noted that these categories are social constructs with no inherent value. ===Aetheromancy=== The study of utilizing arcana to manipulate space. ===Alchemy=== The study of utilizing arcana to create novel elements and substances, traditionally in medicine. ===Anima Scripting=== The study of utilizing arcana to manipulate the anima script, a biopolymer which determines the development of organisms. Because the subject of the discipline is proto-life rather than life outright, it is technically not a school of Biomancy, though this is the subject of some dispute within the academic community. ===Biomancy=== The study of utilizing arcana to manipulate biology. ===Chronomancy=== The study of utilizing arcana to manipulate time. ===Divination=== The study of utilizing arcana to assess information and predict events. ===Egomancy=== The study of utilizing arcana to alter the pneumaic nexus, the seat of human conciousness. Banned everywhere, save for the realms of the Uana. Archaically called Pneumancy. ===Geomancy=== The study of utilizing arcana to manipulate earth, the landscape, and most broadly the climate. ===Golemancy=== The study of utilizing arcana to create machines. ===Metamancy=== The study of using the Power to manipulate itself. A precursor to Egomancy, which itself was a precursor to Neuromancy. ===Neuromancy=== The study of utilizing arcana to manipulate the nervous system. Considered outside of Inotia and Ysara to be a mere school of Biomancy. ===Pyromancy=== The study of utilizing arcana to create manipulate and generate energy directly, often for destructive purposes. ===Radiamancy=== The study of using the Power to manipulate light. ===Runescripting=== Not technically a discipline, though often treated as such. The study of engraving incantations, as runes, into various objects. ===Thanatomancy=== The study of utilizing arcana to manipulate the process of death, or dead tissue. Archaically known as Necromancy. ===Transmutation=== The study of utilizing arcana to change the nature of objects or matter. Most commonly used for replication. =List of arcana= {| class="wikitable sortable" ! Arcana !! Script !! First mention |- | Life Slaying || "...𒋤𒋛𒄭𒂗𒌷𒈿𒇲𒄴!” || 2 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/435882/002-mankinds-shining-future] |- | Entropy Denying || "...(𒌍𒌷𒀭)(𒌍𒁁𒀭)𒅥𒌈𒆜𒈣𒂠, 𒋢𒀀𒅆𒌫𒃶,𒈬𒊹." || 5 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/442370/005-mankinds-shining-future] |- | Matter Suspending || || 5 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/442370/005-mankinds-shining-future] |- | Mass Nullifying || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Friction Denying || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Pressure Manipulating || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Flesh Animating || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Pressure Denying || || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | World Bending || "...𒉎𒁁𒅈𒆜𒆪𒊓𒆤𒂍,𒋫𒇲𒇻𒀀𒅋𒌫𒍑,𒍝𒍝𒍝,𒅥𒁲𒀩𒌋,𒌦𒊹" || 8 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/449700/008-pilgrimage-to-the-deep] |- | Negenthropic Resuscitating || || 10 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/456544/010-pilgrimage-to-the-deep] |- | Anomaly Divining || "...𒈣𒄀𒌈𒀭𒊍. (𒌍𒍣𒍥𒊒𒊬𒉌𒌫𒐼). 𒄭𒌋𒌋𒌋𒌋, 𒊹..." || 12 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/461381/012-pilgrimage-to-the-deep] |- | Time Inferring || || 12 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/461381/012-pilgrimage-to-the-deep] |- | Planar Cutting || || 13 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/464907/013-everblossom] |- | Anatomy Beguiling || "...𒊬𒃶𒋾𒄿𒄿,𒀀𒄀...." "...𒀭𒂗𒊬𒃶𒋾𒄿𒄿,𒀀𒄀...." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Matter Shifting || ".... 𒄭𒅗𒈣𒈣𒁹𒁺...." "....𒉈𒆠𒆷𒉌𒍣, 𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Matter Annihilating || "....𒉈𒆠𒍥𒆤, 𒀉𒌍𒌍𒀭𒌓. 𒊹. || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Air Thrusting || "...𒁺𒂷𒉘𒄴, 𒊌𒀾𒅇𒄿, 𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Motion Beguiling || "...𒄴𒄠/𒂔𒄴𒋤𒅆𒍣𒃶𒄖𒐊𒐊. 𒂵𒀀𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Light Warping || " ...𒀀𒊌𒋛𒊬𒆕𒆠𒄩, 𒌈𒀊𒂠𒄭, 𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Death Sensing || "...𒍣𒍣𒁺𒋼𒉌𒌈𒀭𒋫𒂊𒌍𒁹𒐊𒐊𒐊𒊹!" || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | World Deafening || "...𒀉𒈾𒄿𒄿, 𒄷𒈾𒀀𒇉𒅋𒀝𒅈𒋜𒆕𒊹. || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Entropy Accelerating || "....𒋜,𒌅𒋫,𒅥𒌈𒆜𒈣𒂠, 𒋢𒀀𒅆𒌫𒃶,𒈬𒊹!" || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Entropy Reversing || "...𒆠𒈪,𒌷𒌷,𒀭𒊩𒌆𒅅,𒋢𒀀𒅆𒌫𒃶,𒈬,𒊹." || 17 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/475988/017-everblossom] |- | Senolyte Slaying || || 19 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/515273/019-the-quest-unrelenting] |- | Anatomy-Motion-Neurology Beguiling || "...𒊬𒃶𒋾𒄴𒄠/𒂔𒄴𒋤𒅆𒍣𒃶𒄖𒐊𒐊,𒄀𒈣𒊑𒅘..." || 20 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/528905/020-the-quest-unrelenting] |- | Vitality Percieving || || 20 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/528905/020-the-quest-unrelenting] |- | Form Levitating || || 24 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/569067/024-in-fading-image] |- | Form Chronicling || " ...𒈪𒊑𒉌𒈬,𒉘𒄴𒌓𒐊𒐊𒐊𒐊, 𒅎 𒍥𒁍𒊹." || 24 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/569067/024-in-fading-image] |- | Time Reversing || || 25 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/570921/025-in-fading-image] |- | Hive Conceptualizing || "...𒊌𒅎𒀉𒌫𒀊, 𒀭𒀉𒃶𒐊𒐊𒄀𒁍𒊹." || 26 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/575766/026-in-fading-image] |- | Matter Unfurling || "...𒅆𒅆𒊑𒃶𒈿,𒌍𒌍,𒀸𒍣𒊺𒄷𒊹." || 26 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/575766/026-in-fading-image] |- | Impulse Transmitting || || 36 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/640735/036-profane-ambition] |- | Neurology Beguiling || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Time Stopping || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Matter Repulsing || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Anomaly Denying || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Object Manipulating || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Biomatter Warping || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Life Sensing || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Iron Toning || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Flame Summoning || || 40 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/656840/040-the-chosen-children] |- | Flesh Weaving || || 43 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/668921/043-the-chosen-children] |- | Energy Nullifying Projecting || "...𒁽𒅅𒈪𒈪𒀩𒀖𒂊, 𒄿𒄿𒄿𒂷𒌍𒀾𒄷𒌫𒄀𒊹.𒁺." || 49 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/696447/049-the-die-falls] |- | Matter Replicating || "𒈪𒊬𒄴𒌔𒁺𒄀𒈬𒉺, 𒌷𒊓𒊒𒄷𒍣𒆭𒌍𒀸𒄿𒄿𒊹." || 51 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/704282/051-the-die-falls] |- | Moment Emulating || || 52 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/708322/052-the-die-falls] |- | Energy Nullifying || || 54 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/716832/054-the-die-falls] |- | Negentropic Interfacing || || 68 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/788908/068-power-of-the-gods] |- | Phantasm Projecting || || 77 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/837064/077-justice-and-kindness] |- | Sound Echoing || || 79 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/846869/079-justice-and-kindness] |- | Matter Refracting || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Neuromagnetic Shielding || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Particle Striking || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | The Sun Crown || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Matter Unbinding || || 83 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/870050/083-split-body] |- | Sensory Transmitting || || 86 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/896019/086-split-body] |- | Matter Mapping || || 91 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/928201/091-split-body] |- | Nerve Depressing || || 93 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/942973/093-everyone-dies] |- | Matter Sensing || || 107 [https://sekhmet.fun/search?q=matter+sensing] |- | Energy Piercing || || 108 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1085185/108-until-nothing-remains] |- | Cell Discerning || || 112 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1127003/112-until-nothing-remains] |- | Lethe Flowing || || 114 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1156590/114-until-nothing-remains] |- | Matter Gathering || || 117 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1222171/117-until-nothing-remains] |- | Matter Carving || || 122 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1294122/122-utsushikome-and-the-demon] |- | Time Decelerating || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Matter Liquefying || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Wind Striking || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Air Compressing || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Voice Carrying || || 123 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1308296/123-utsushikome-and-the-demon] |- | Biochemical Trancing || || 124 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1320883/124-utsushikome-and-the-demon] |- | Time Slowing || || 124 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1320883/124-utsushikome-and-the-demon] |- | Bacteria Springing || || 124 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1320883/124-utsushikome-and-the-demon] |- | Matter Solidifying || || 129 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1369743/129-got-away-with-it] |- | Object Replicating || || 129 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1369743/129-got-away-with-it] |- | Pattern Replicating || || 129 [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1369743/129-got-away-with-it] |} e3a2705cc5fc6cbb2c33c2757c78f83f77edb5dd Module:Hatnote/styles.css 828 27 118 59 2023-12-19T18:39:26Z Systemzero 2 Systemzero changed the content model of the page [[Module:Hatnote/styles.css]] from "plain text" to "CSS" css text/css /* {{pp|small=y}} */ .hatnote { font-style: italic; } /* Limit structure CSS to divs because of [[Module:Hatnote inline]] */ div.hatnote { /* @noflip */ padding-left: 1.6em; margin-bottom: 0.5em; } .hatnote i { font-style: normal; } /* The templatestyles element inserts a link element before hatnotes. * TODO: Remove link if/when WMF resolves T200206 */ .hatnote + link + .hatnote { margin-top: -0.5em; } 44680ffd6e888866df2cdfa0341af9c7b97da94c Wen 0 45 119 2023-12-21T00:59:45Z Scarletsannasky 9 i hope i have the info right wikitext text/x-wiki '''Wen''' was a person from before the collapse with some relationship to [[Utsushikome's grandfather|⬛️⬛️⬛️⬛️⬛️ of Fusai]]'s pre-collapse identity. [[Samium|Samium of Ur-Ysar]] told Su that she was his daughter, for unknown reasons Su now claims this was false. [[Utsushikome of Fusai]]'s anima script and physical appearance was modelled on hers. Utsushikome's grandfather chose to sacrifice a portrait of her in the Order's [[Induction chamber]]. Samium and Autonoe found that retrieving her pneuma was impossible, and chose to deceive Utsushikome's grandfather by placing someone with Pneumaic Hyperadaptivity Syndrome in Utsushikome's body instead of Wen. 2cc644e1c44ac02672f8d4530b25521647cd8ffd 120 119 2023-12-21T01:01:11Z Scarletsannasky 9 wikitext text/x-wiki '''Wen''' was a person from before the collapse with some relationship to [[⬛️⬛️⬛️⬛️⬛️ of Fusai|Utsushikome's grandfather]]'s pre-collapse identity. [[Samium of Ur-Ysar|Samium]] told Su that she was his daughter, for unknown reasons Su now claims this was false. [[Utsushikome of Fusai]]'s anima script and physical appearance was modelled on hers. Utsushikome's grandfather chose to sacrifice a portrait of her in the Order's [[Induction chamber]]. Samium and [[Autonoe of Koranthia|Autonoe]] found that retrieving her pneuma was impossible, and chose to deceive Utsushikome's grandfather by placing someone with Pneumaic Hyperadaptivity Syndrome in Utsushikome's body instead of Wen. 991542867e867b5209ed40efce35a41e145c264f 122 120 2023-12-21T01:32:44Z Scarletsannasky 9 wikitext text/x-wiki '''Wen''' was a person from before the [[Collapse]] with some relationship to [[⬛️⬛️⬛️⬛️⬛️ of Fusai|Utsushikome's grandfather]]'s pre-collapse identity. [[Samium of Ur-Ysar|Samium]] told Su that she was his daughter, for unknown reasons Su now claims this was false. [[Utsushikome of Fusai]]'s anima script and physical appearance was modelled on hers. Utsushikome's grandfather chose to sacrifice a portrait of her in the Order's [[Induction chamber]]. Samium and [[Autonoe of Koranthia|Autonoe]] found that retrieving her pneuma was impossible, and chose to deceive Utsushikome's grandfather by placing someone with Pneumaic Hyperadaptivity Syndrome in Utsushikome's body instead of Wen. fe02265ea39802eebb7d2f7ac44620ebc8d0cb39 Iron Princes 0 46 121 2023-12-21T01:30:16Z Scarletsannasky 9 Created page with "The '''Iron Princes''' were the ruling class of the late Imperial Era. Possessing trillions of times more wealth than the average person, once the technology became available they abandoned their physical bodies to live as vast intelligences powered by the Sun. They controlled both those living in physical reality and subjects uploaded to their artificial reality until they were destroyed by the [[Collapse]]. Although their technology is no longer viable without [[Iron]]..." wikitext text/x-wiki The '''Iron Princes''' were the ruling class of the late Imperial Era. Possessing trillions of times more wealth than the average person, once the technology became available they abandoned their physical bodies to live as vast intelligences powered by the Sun. They controlled both those living in physical reality and subjects uploaded to their artificial reality until they were destroyed by the [[Collapse]]. Although their technology is no longer viable without [[Iron]], the Covenant outlaws it. Despite [[Neferuaten of Amat|Neferuaten]]'s claims that the [[Order of the Universal Panacea|Order]] is faithful to the ideals of the Covenant, it possesses copies of their documents. According to rumor, these copies were transcribed from memory by members of the [[Uana party]].<ref>[https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere/chapter/1115399/111-until-nothing-remains 111: Until Nothing Remains (𒐄)]</ref> cff0bf8cb986af46e780c15932abede5cd2fc01c Main Page 0 1 123 12 2023-12-21T18:21:14Z Systemzero 2 wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about [https://www.royalroad.com/fiction/28806/the-flower-that-bloomed-nowhere The Flower That Bloomed Nowhere], a webnovel by Lurina.<br> This wiki contains [[Special:Statistics|{{NUMBEROFARTICLES}}]] [[Special:AllPages|articles]]. While this wiki is under construction, we advise first time readers to be aware that many pages will contain unmarked spoilers. 45961eeaf76b766034d97ceaf096fcd490b8954b